2011-11-04T00:00:00 clck maybe take out any good logic 2011-11-04T00:00:08 and just make it base with your new io 2011-11-04T00:00:10 and try it 2011-11-04T00:00:15 if it fails have someone compile it 2011-11-04T00:00:19 and test 2011-11-04T00:00:33 without the logic your save to see if its teh io stuff 2011-11-04T00:00:34 ok maybe not questionable, but I've no real insite into failure so how can I debug remote timeouts? 2011-11-04T00:01:10 I'm using this script for testing and seems to work well, can you give it a try "python tools/playgame.py "MyBot_o" "upload/MyBot" --map_file tools/maps/multi_hill_maze/maze_02p_01.map --turntime 1 --log_dir game_logs --turns 150 --player_seed 7 --viewradius2=77 --verbose -e -I -O" 2011-11-04T00:01:12 clckwrk: Is your bot in an early state that won't reveal much? I could try to compile/run it for you on a Ubuntu machine I have handy and see if that flushes anything out. 2011-11-04T00:01:38 krishna: I've an ubuntu machine in virtual box where I could do the same thanks though. 2011-11-04T00:02:28 Ah. I don't have the computing power to appreciate virtualization. Wouldn't have even thought of it. :) 2011-11-04T00:02:31 each games timeout is different, don't know what settings you are using, ' 2011-11-04T00:02:38 Yay my bot submitted correctly 2011-11-04T00:03:16 I'd quite like it if "play_one_game_live.sh" selected a random map 2011-11-04T00:03:41 randomise it 2011-11-04T00:03:42 :p 2011-11-04T00:04:06 hmm... I'm going to have to do something to test against my previous bots 2011-11-04T00:04:26 *** svujic has left #aichallenge 2011-11-04T00:04:41 How long do games usually take? 2011-11-04T00:04:49 fluxid y u no run with me :( 2011-11-04T00:05:20 *** Antimony has quit IRC (Quit: ChatZilla 0.9.87 [Firefox 7.0.1/20110928134238]) 2011-11-04T00:05:21 i keep hearing fluxid here, what is it 2011-11-04T00:05:27 the tcp server 2011-11-04T00:05:31 where you play games ultra fast 2011-11-04T00:05:37 not like on the mains ervers where it is slower than a steaming turd 2011-11-04T00:05:56 so how do I play there 2011-11-04T00:06:02 http://ants.fluxid.pl/howto 2011-11-04T00:06:11 but the server is currently down 2011-11-04T00:06:15 ccc: replacing the two bots with mine and adjustments for relatives paths and that plays just fine and opens in the visualiser. 2011-11-04T00:07:39 how do i get username password, i dont' see any way to register there 2011-11-04T00:07:44 I give, going to bed, thanks for all who input. I'm going to sleep on it and try and tackle with clearer head and more caffeine. 2011-11-04T00:07:46 just whatever you want 2011-11-04T00:07:47 You just specify and the command line 2011-11-04T00:07:58 and it will create it right ther eif it doesn't exist 2011-11-04T00:08:00 And it remembers. At least I assume it remembers 2011-11-04T00:08:05 *** clckwrk has quit IRC (Quit: Page closed) 2011-11-04T00:09:35 my bot is in C, so i should just give the executable right? but I'm compiling locally in OS X, how will they run it 2011-11-04T00:09:53 yeah I think so 2011-11-04T00:10:00 however you run it in play_one_game.sh 2011-11-04T00:10:07 you just pass in the same command to the fluxid script 2011-11-04T00:10:59 ccc: The bot runs on your machine and sends commands to the server. 2011-11-04T00:11:12 Oh! thats the trick 2011-11-04T00:11:14 got it 2011-11-04T00:11:19 but what about timing 2011-11-04T00:11:24 5 seconds 2011-11-04T00:11:25 5 second time out 2011-11-04T00:11:29 plenty plenty of time 2011-11-04T00:11:32 really! 2011-11-04T00:11:33 cool 2011-11-04T00:11:40 but it's down right now 2011-11-04T00:11:46 but usually you can cram in like a match per minute 2011-11-04T00:11:57 or every couple 2011-11-04T00:12:04 *** djr_ has joined #aichallenge 2011-11-04T00:12:06 (that includes running time of match) 2011-11-04T00:12:08 Where is the server code? Maybe I could run one for a little while 2011-11-04T00:12:16 ask Fluxidf 2011-11-04T00:12:20 he's on here a lot 2011-11-04T00:12:29 (without the f at the end) 2011-11-04T00:12:36 If he was, we'd probably have a working server :) 2011-11-04T00:12:43 On at the moment I mean 2011-11-04T00:13:00 *** Jak_o_Shadows has quit IRC (Remote host closed the connection) 2011-11-04T00:13:38 night all 2011-11-04T00:13:52 First game my bot plays, everybody wins! 2011-11-04T00:13:53 I'll poke around the forums and see if I can find it. I recall him saying someone else wrote it 2011-11-04T00:14:02 *** Dimentox has quit IRC (Quit: Page closed) 2011-11-04T00:14:25 We were discussing ways for our ants to negotiate truces at one point. 2011-11-04T00:14:40 See the trick to really winning the game - is be peaceful, man. Like do not harm. 2011-11-04T00:14:48 totally not true scomb 2011-11-04T00:14:55 the trick is to be a bastard and hunt those hills down 2011-11-04T00:15:09 roflmao, that's so not zen 2011-11-04T00:15:19 lol 2011-11-04T00:15:43 * avdg tried tcp for the first time and it looks like ants.fluxid.pl isn't working 2011-11-04T00:15:44 Prisoners dilemma strategy doesn't work in this game :/ 2011-11-04T00:15:59 As we can't identify our oponents again 2011-11-04T00:16:54 the only thing that sucks about aggressive strats is that 2011-11-04T00:17:02 you can spend a lot of resources killing an enemy 2011-11-04T00:17:06 just to have another enemy come and backstab you 2011-11-04T00:17:17 Well, for truces, you could jsut be peaceful, until they kill one of yours 2011-11-04T00:17:27 titfortat 2011-11-04T00:17:45 wow! total users grew to 8000+, i think till yesterday they were 400 2011-11-04T00:17:48 4000 2011-11-04T00:18:34 roflmao well in the long run you still win though. you gain ... 2 points for killing a hive? and lose 1 for losing a hive. 2011-11-04T00:20:21 Well, atleast this is good programming practise 2011-11-04T00:20:25 noet necessarily 2011-11-04T00:20:29 if you are ain a one hill 8p map 2011-11-04T00:20:38 it is mutually assured destruction 2011-11-04T00:20:50 you might get 2 points and lose one but once you lose all your hills its GG for you 2011-11-04T00:22:28 i'm not talking about a single game, talking about over several games 2011-11-04T00:24:25 if we compare a purely defensive vs purely offensive strategy, a defensive strategy doesn't get any points because it's just defending. so if you had to pick between the two, you would go for an offensive one first. 2011-11-04T00:24:25 Well I only signed up today 2011-11-04T00:24:57 so, concentrate on aggression first, then support it with defensive strategies 2011-11-04T00:25:08 I meant if they kill an ant 2011-11-04T00:26:02 *** TheLinker has quit IRC (Quit: Bye) 2011-11-04T00:26:57 *** markt has quit IRC (Ping timeout: 265 seconds) 2011-11-04T00:27:15 *** ltriant has quit IRC (Read error: No route to host) 2011-11-04T00:28:53 *** Mikustriker has joined #aichallenge 2011-11-04T00:30:20 scombinator: i'd prefer to call it "hold the line" 2011-11-04T00:30:57 *** ltriant has joined #aichallenge 2011-11-04T00:31:07 if you've opened up multiple fronts against different directions, it is probably more prudent to maintain a good position in a defensible location and push out from another instead of trying to push out in all directions 2011-11-04T00:31:38 *** oops has joined #aichallenge 2011-11-04T00:31:46 hey all 2011-11-04T00:32:08 anyone knwo what happens if you give conflicting orders to same ant in same turn? 2011-11-04T00:33:11 i've ssh'd into a remove machine, how do I scp files from my local to remote 2011-11-04T00:33:40 when I'm ssh'd, how to i mention my local machine name 2011-11-04T00:33:47 localhost? 2011-11-04T00:34:44 it says connect to host localhost on port 22 refused 2011-11-04T00:35:33 I've ssh'd into the machine using $ssh -p 34040 user@ip 2011-11-04T00:35:54 what are you trying to do? copy something to it? 2011-11-04T00:36:28 scp -p 34040 /path/to/local/file user@ip:/path/to/remote/dest 2011-11-04T00:37:21 That visualiser someone was building - is it for a particular language only? 2011-11-04T00:37:50 what visualizer? 2011-11-04T00:38:28 still same error, it is trying port 22 only for some reason 2011-11-04T00:38:36 ccc: read the man page 2011-11-04T00:39:35 oops, yeah man page helped, it was upper case P 2011-11-04T00:39:36 The one for visualising AI states 2011-11-04T00:39:55 lol 2011-11-04T00:40:16 "we have received information that your computer has been infected by malicious software that is causing problems in the international routing system" 2011-11-04T00:40:18 sigh 2011-11-04T00:40:38 *** userjjb has joined #aichallenge 2011-11-04T00:40:48 t 2011-11-04T00:41:09 bobbydroptable: what kind of msg did you receive? 2011-11-04T00:41:18 bobbydroptable: who are you talking too. me about my scp 2011-11-04T00:41:21 *** jtamer has joined #aichallenge 2011-11-04T00:41:41 I am not a fan of learning C# thus far, it seems like half of the C# starter bot is just framework for all the OO stuff 2011-11-04T00:41:47 ccc was just a random topic :) 2011-11-04T00:42:01 avdg: got a phone call from some blocked number 2011-11-04T00:42:10 lovely 2011-11-04T00:42:14 userjjb: try python 2011-11-04T00:42:15 i strung him a long for awhile until I couldn't think of anything else to say 2011-11-04T00:42:21 then he hung up 2011-11-04T00:42:48 just before he was about to transfer me to a "senior microsoft technician" lol 2011-11-04T00:42:54 amstan: I want good speed though and my understanding was that python would be significantly slower 2011-11-04T00:43:09 so obviously, don't fall for that bullshit guys. 2011-11-04T00:43:10 bobbydroptable: how did you get those phone calls? :p 2011-11-04T00:43:14 when you get to that issue you can switch 2011-11-04T00:43:18 avdg: with a phone? lol 2011-11-04T00:43:24 hi everybody, i know that the tcp server is down right now, but in the future, i assume that the tcp username will be username in ranking,right? 2011-11-04T00:43:35 my dad got trapped once by installing unknown software few days ago :/ 2011-11-04T00:43:40 I realize a simple bot won't cap out in either language early on, but if I want to make it more sophisticated I don't want to find I need to recode it in another language to have more headroom 2011-11-04T00:43:42 tbh no idea... probably some company i've signed up with has sold my details to some company somewhere 2011-11-04T00:44:04 bobbydroptable: https://plus.google.com/118210384829172301796/posts/jjWqV2wZvYr 2011-11-04T00:44:10 it disabled virus scanner, google search (to identify the virus), got annoying fake warnings, etc... 2011-11-04T00:44:20 and it removed files 2011-11-04T00:44:24 *** jtamer has joined #aichallenge 2011-11-04T00:44:33 hahaha yes exactly that 2011-11-04T00:44:37 well, almost exactly 2011-11-04T00:44:45 the sad thing is, this is the 2nd time i've gotten the call 2011-11-04T00:45:02 and also the sad thing is , people fall for this stuff enough to make it a viable effort 2011-11-04T00:45:07 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has quit IRC (Ping timeout: 244 seconds) 2011-11-04T00:45:09 if they do the remote desktop thing show the goatse 2011-11-04T00:45:11 also 2011-11-04T00:45:20 get their ip and contact their isp's abuse line 2011-11-04T00:45:26 *** AxVapor has joined #aichallenge 2011-11-04T00:45:30 the problem is that people believe they have to follow any computer instruction to get what they want 2011-11-04T00:45:44 *** jtamer has quit IRC (Client Quit) 2011-11-04T00:46:00 userjjb: its not about language speed at all, its all about algorithms 2011-11-04T00:46:03 amstan: i should have done that ==" 2011-11-04T00:46:04 (mainly because they don't know what they doing) 2011-11-04T00:46:37 i don't get these calls enough to set up a VM for a sandbox lol 2011-11-04T00:46:50 bobbydroptable: wine sandbox seemed good enough 2011-11-04T00:47:04 also.. software they were using wasn't made by them 2011-11-04T00:47:07 so it was ok 2011-11-04T00:47:16 i wasn't worried about trojans or anything 2011-11-04T00:47:21 i still haven't figured out how to use wine 2011-11-04T00:47:22 lol 2011-11-04T00:47:27 ccc: I know, but say for instance my algorithm wants to do something computationally complex enough that I can't fit in my time window? I don't want to compromise my available options because my language is too slow 2011-11-04T00:47:42 i went to the website, it said i had to build it myself and i went "uh, lazy" 2011-11-04T00:47:58 userjjb: go with what language you already know 2011-11-04T00:48:21 userjjb: nobody won this contest by changing languages to something that was fast 2011-11-04T00:48:27 userjjb: they won with what they already knew 2011-11-04T00:48:57 The thing is I don't know any of the available languages (I use MATLAB for engineering), so I figured I might as well choose the fastest and most versatile one 2011-11-04T00:49:00 gn *is sad he was just in the right mode* 2011-11-04T00:49:11 i guess no language is slow to read input and write output 2011-11-04T00:49:25 ccc: unless you make one ;-) 2011-11-04T00:50:15 oh lol http://forum.bigbighuge.com/viewtopic.php?f=3&t=3090 2011-11-04T00:51:18 amstan: you've successfully reminded me that google+ exists ==" lol 2011-11-04T00:51:44 *** datachomper_ has joined #aichallenge 2011-11-04T00:51:57 *** Mikustriker has quit IRC (Quit: Page closed) 2011-11-04T00:52:04 *** ecarpenter84 has quit IRC (Quit: Page closed) 2011-11-04T00:52:12 Anybody here debugging in python? My bot is timing out and I can't figure out how to instrument it. 2011-11-04T00:53:05 OOP is just a very different paradigm then what I'm used to, half of the keywords are devoted to all the OOP stuff and seems so superfluous, things like "abstract" why the heck do you have to make a base class and then a subclass of that class to actually do something? It seems needlessly complex 2011-11-04T00:53:56 datachomper_, You could pepper it with prints to stderr. And play with the -Ee flags. 2011-11-04T00:54:19 userjjb: oop fails when you use it when you don't need it ;-) 2011-11-04T00:54:48 but otherwise, use it, it can be good for something :-) 2011-11-04T00:54:59 So do iphones. Totally useless as a hammer. 2011-11-04T00:55:42 and me thinking why I made hammer :o 2011-11-04T00:55:51 finally my scp worked, it wasnt' working before because I was scp'ing while inside the remote machine 2011-11-04T00:55:51 *a hammer 2011-11-04T00:56:18 avdg: Yeah that's the thing I feel like 80% of the people making bots are CompSci people and so the extra overhead of having "good" code is quite small. I want to make a bot as an engineer because I enjoy algorithmic problem solving, instead I've spent all my time just trying to understand what's happening in the starter package 2011-11-04T00:56:45 userjjb: I was quite happy with js when I started the ai competition 2011-11-04T00:56:58 i believe many of the oop principles, such as abstract classes, come from the needs of large-scale systems. about half of it is "maintainable architecture" and the other half is "prevent stupid people from doing stupid things" 2011-11-04T00:57:33 the main reason: the api was pretty simple, and I could break the structure (phpdocs, classes, over organization, documentation, and a big pile of worries other people are adding) 2011-11-04T00:58:24 but I still hate trailing spaces and mixing tabs and spaces together :-) 2011-11-04T00:58:57 avdg: the way to do true tabs is to mix tabs and spaces 2011-11-04T00:59:10 avdg: tabs for indentation, spaces for alignment 2011-11-04T00:59:12 bobbydroptable: Yeah so in a case where I don't have 91238428347928 lines of code it's not really needed. I just don't feel like having to rewrite the starter package procedurally before I can even begin, but I guess either way there's an unpleasant pill to swallow 2011-11-04T00:59:27 userjjb: see C starter then 2011-11-04T01:00:03 amstan: true, but I mean the usage of spaces where tabs could be used (meaning that you will get a very beautiful result when the tab settings are changed) 2011-11-04T01:00:12 yes 2011-11-04T01:00:26 or tabs where spaces should be used 2011-11-04T01:00:28 like aligning 2011-11-04T01:00:56 yeah, especially in comments 2011-11-04T01:00:59 yep 2011-11-04T01:02:11 man, I can't sleep, I'm feeling too good to sleep 2011-11-04T01:03:00 that's nice 2011-11-04T01:03:06 i usually feel too crap to sleep 2011-11-04T01:04:12 so.. i have yet to see a video on youtube that shows a drop bear attack 2011-11-04T01:04:19 every video they have so far is hilarious 2011-11-04T01:04:42 *** roflmao has quit IRC (Quit: Leaving.) 2011-11-04T01:05:05 ah, the dreaded drop bears 2011-11-04T01:05:27 they strike with such speed and ferocity that there is no time to capture them on video 2011-11-04T01:05:55 wait.. it's actually ficticious? 2011-11-04T01:06:04 i knew it was too exagerated to be true 2011-11-04T01:07:26 lol ^^ 2011-11-04T01:13:53 I don't know how such stories got started about koalas 2011-11-04T01:15:44 probably as a result of all the legends of the harshness of the bush 2011-11-04T01:15:52 all the poisonous animals and stuff 2011-11-04T01:18:01 *** cali_ has joined #aichallenge 2011-11-04T01:18:27 :q 2011-11-04T01:20:01 they look defenseless, but its actually just a ploy to get you to lower your defenses 2011-11-04T01:23:18 *** cyphase has quit IRC (Quit: http://www.cyphase.com/) 2011-11-04T01:23:32 All claws, all claws. 2011-11-04T01:25:38 *** cyphase has joined #aichallenge 2011-11-04T01:29:59 *** NakedJeff has joined #aichallenge 2011-11-04T01:40:05 t 2011-11-04T01:41:02 *** Jak_o_Shadows has joined #aichallenge 2011-11-04T01:42:47 *** caution has quit IRC (Quit: caution) 2011-11-04T01:45:19 so who's the highest ranked contestant in here? 2011-11-04T01:45:49 *** ccarey has joined #aichallenge 2011-11-04T01:45:56 You are. 2011-11-04T01:46:22 *** Rinum has joined #aichallenge 2011-11-04T01:46:38 so I'm switching over to C++ 2011-11-04T01:47:14 how do I use the compiled bot with, say, play_one_game.sh? 2011-11-04T01:47:21 krishna: i seriously doubt that 2011-11-04T01:47:47 Rinum: Just invoke wit without python in front of it. 2011-11-04T01:48:13 I threw a tcp server up. But I'm guessing all those people who wanted to use one immediately have gone off to bed 2011-11-04T01:48:18 but I get an error? 2011-11-04T01:48:25 What error? 2011-11-04T01:48:31 oooooh is the c++ starter bot non-functional? 2011-11-04T01:48:39 I never looked at the code for it x.x 2011-11-04T01:48:41 No it's functional 2011-11-04T01:48:48 hmmm 2011-11-04T01:48:49 It's the first one I submitted 2011-11-04T01:48:49 :/ 2011-11-04T01:49:08 Before actually implementing my own in python. 2011-11-04T01:49:26 *** Chunes has joined #aichallenge 2011-11-04T01:49:26 I've gone through 3 different languages. 2011-11-04T01:49:30 Is there a wrapper for bots to run in on a tcpserver? 2011-11-04T01:50:01 I've considered shifting to C, but any inefficiencies tend to be algorithmic 2011-11-04T01:50:40 I just get this SandboxError: Failed to start ['MyBot'] 2011-11-04T01:50:46 I wasn't necessarily language hopping for speed. 2011-11-04T01:50:59 Rinum: Is the path correct? 2011-11-04T01:51:11 yup, I just moved the file right now 2011-11-04T01:51:22 it's in the same dir as play_one_game.sh 2011-11-04T01:51:24 Ugh... stupid greedy bot, I keep thinking its errors are from my bot 2011-11-04T01:51:41 lol yeh me too 2011-11-04T01:51:46 Is the executable actually MyBot, not mybot.exe or something like that? 2011-11-04T01:51:48 i took it out of the list 2011-11-04T01:52:07 krishna: I got it... I just needed ./ in front 2011-11-04T01:54:08 scombinator: To answer your tcp question. There is a python client you download and run 2011-11-04T01:54:15 scombinator: http://ants.emptybox.org/howto 2011-11-04T01:54:27 Hopefully that dns is resolving now 2011-11-04T01:55:47 :-) 2011-11-04T01:58:22 *** datachomper_ has quit IRC (Quit: Page closed) 2011-11-04T01:58:44 I still got a crappy ai :/ 2011-11-04T01:59:10 The server is throwing an error on occasion. Not sure if it affects anything 2011-11-04T01:59:29 avdg: :D me too 2011-11-04T01:59:41 krishna thanks you 2011-11-04T01:59:54 mine sucks primarily because my pathfinding stuff takes too long in python 2011-11-04T02:00:00 so I'm tryint to transfer it over to C++ 2011-11-04T02:00:30 you should probably solve the problem by an other method 2011-11-04T02:00:31 scombinator: Only two bots playing right now, so it's not nearly as useful as fluxid's 2011-11-04T02:01:08 btw, is it just me or is Fluxid stuck? 2011-11-04T02:01:12 *** goants has quit IRC (Quit: Leaving.) 2011-11-04T02:01:12 Well, I hear you can fail more efficiently in C 2011-11-04T02:01:23 meh, I wish the client was less verbose 2011-11-04T02:01:25 Rinum: Yeah, it's stuck. That's why I put this one up 2011-11-04T02:01:28 or C++ 2011-11-04T02:01:41 * avdg still believes in his js bot 2011-11-04T02:02:02 <3 Python 2011-11-04T02:02:13 meh, I wonder why my client is quitting 2011-11-04T02:02:15 Even if it hits me regularly 2011-11-04T02:02:31 pairofdice: "fail more efficiently in C"… so true :) 2011-11-04T02:02:40 :-) 2011-11-04T02:03:13 i do love python a lot, but i'm thinking of choosing a language where i can keep a better eye on how much memory i'm using 2011-11-04T02:03:30 it's a 1GB limit, right? 2011-11-04T02:03:35 1.5 2011-11-04T02:03:46 Last I heard atleast 2011-11-04T02:04:00 wow, won with a time-out, I'm good 2011-11-04T02:04:04 kinda 2011-11-04T02:04:10 not enough to keep track of all paths to and from every point on a 200x200 grid…. 2011-11-04T02:04:35 lol 2011-11-04T02:04:39 nope 2011-11-04T02:04:41 Why would you want to do that 2011-11-04T02:05:01 but you can keep maps of paths to the closest of a set of points very easily 2011-11-04T02:08:39 My crazy ants love being in formation 2011-11-04T02:09:53 *** Palmik has joined #aichallenge 2011-11-04T02:10:12 What is it with multi-hill maps that timeout my bot 2011-11-04T02:10:27 *** NakedJeff has quit IRC (Quit: NakedJeff) 2011-11-04T02:10:50 What are you doing per-hill? 2011-11-04T02:11:32 *** Garf has joined #aichallenge 2011-11-04T02:11:35 Nothing, my ants are hill-agnostic 2011-11-04T02:11:44 Atleast I think they are 2011-11-04T02:12:05 Anyone knows if the estimates will evantually make a comeback? 2011-11-04T02:12:07 Multi-hill maps tend to give you more vision earlier on 2011-11-04T02:12:16 That might be it 2011-11-04T02:12:27 Are making assumptions based on explored squares. With multiple hills every explored square isn't connected 2011-11-04T02:12:32 *** NakedJeff has joined #aichallenge 2011-11-04T02:12:43 Ew 2011-11-04T02:13:16 what isn't connected? 2011-11-04T02:13:27 actually no 2011-11-04T02:13:34 I'm going to use cython instead 2011-11-04T02:13:38 *** kaemo has quit IRC (Ping timeout: 260 seconds) 2011-11-04T02:13:46 Skill calculations don't seem to be working on my tcp server. Maybe it needs more data. 2011-11-04T02:14:05 Or maybe that relates to the exception being thrown at the end of every game 2011-11-04T02:14:35 speaking of which, http://ants.fluxid.pl/ is still down? :( 2011-11-04T02:15:28 Venom: Yeah. You can use http://ants.emptybox.org/ for now. 2011-11-04T02:16:02 Although there might be no one to play with :) 2011-11-04T02:16:16 I'm currently printing out the pathfinding maps as I play, it'd very pretty 2011-11-04T02:16:57 oooh, this emptybox.org thing looks fun. i'll throw an ai up there 2011-11-04T02:17:10 scombinator mine generates 6-7 different overlays at the moment 2011-11-04T02:17:25 *** ltriant has quit IRC (Quit: Get MacIrssi - http://www.sysctl.co.uk/projects/macirssi/) 2011-11-04T02:17:28 Just a simple food-distance map for me at the moment 2011-11-04T02:17:34 ah yeh 2011-11-04T02:17:47 works luverly 2011-11-04T02:18:05 krishna: what does the num_rounds value do in tcpclient.py? 2011-11-04T02:18:15 Need to do better branching for my tree though 2011-11-04T02:18:38 I'll bring my bot Krishna. 2011-11-04T02:19:04 NakedJeff: It's the number of games it will play in a row before exiting 2011-11-04T02:19:50 what's the limits? 2011-11-04T02:19:55 *limit 2011-11-04T02:20:57 ah you've put up another tcp server? awesome 2011-11-04T02:21:37 ooh i'm playing a game 2011-11-04T02:21:41 who's Louis Marten 2011-11-04T02:22:03 wait, it ended already? i'm confused 2011-11-04T02:22:06 I'm ocassionally seeing "broken game" on turn 0 on the server side 2011-11-04T02:22:24 :p 2011-11-04T02:22:29 im joining! 2011-11-04T02:22:31 Maybe that's your bot? 2011-11-04T02:22:43 mine doesn't crash 2011-11-04T02:22:45 I just found out, that a great number of my ants aren't in large stationary groups, they're in large groups swapping position to no effect 2011-11-04T02:22:47 yet 2011-11-04T02:22:57 I'm not sure if I have the latest version of this stuff. Just blindly pulled from github. 2011-11-04T02:22:58 hmm 2011-11-04T02:23:20 reminds me of http://en.wikipedia.org/wiki/Ant_mill 2011-11-04T02:23:27 :D 2011-11-04T02:23:35 stop timing out :-) 2011-11-04T02:23:37 Naked: I'm, but It's timing out for some reasons. 2011-11-04T02:23:41 Real stupidity replicated in AI form 2011-11-04T02:23:51 ok, it looks like it's playing a real game now 2011-11-04T02:24:05 Pretty much 2011-11-04T02:24:08 did I just not see this at all, damn, from game spec "Information is always given about your own dead ants even if you can't see the squar" 2011-11-04T02:25:26 It's working :) 2011-11-04T02:25:34 nice :D just play one 2011-11-04T02:25:39 Venom: is it you and me in this game? 2011-11-04T02:25:40 I'm seeing the game in real-time. pretty neat. 2011-11-04T02:25:47 Naked: probably 2011-11-04T02:26:28 4 teams. I ended with 5 points 2011-11-04T02:26:28 aww, i lost :( 2011-11-04T02:26:38 it was just me vs LouisMartin in this game 2011-11-04T02:26:44 do you have defense/attack? 2011-11-04T02:27:10 *** Venom is now known as LouisMartin 2011-11-04T02:27:15 krishna: will the old tcpclient.py work or your server has a different tcp script 2011-11-04T02:27:23 here.. makes things simpler 2011-11-04T02:27:39 now, that I'm a winner ^ ^ ;) 2011-11-04T02:27:48 ccc: I'm still using the same old fluxid client. :) Didn't check to see if it was different 2011-11-04T02:28:31 I think the rankings are broken on my server. 2011-11-04T02:28:47 But those are pretty meaningless on the tcp server anyway I think 2011-11-04T02:28:50 i think to.... they didnt reflect recent games 2011-11-04T02:29:12 *** Harpyon has joined #aichallenge 2011-11-04T02:29:13 hmm... is there anyway to download large quantities of game replays? 2011-11-04T02:30:59 i'm gonna keep playing games until i win one :( 2011-11-04T02:31:51 who's k? 2011-11-04T02:32:04 I won my first game evar. Of course I think it's because none of the AIs could capture a hill 2011-11-04T02:32:07 NakedJeff: That's me. Looks like you came in second that game 2011-11-04T02:32:29 krishna: your algorithm is on so much crack. i love it. 2011-11-04T02:32:32 First 3 player game. I was starting to wonder if it was only going to do 2 player ones 2011-11-04T02:32:36 krishna: the formations are wild 2011-11-04T02:32:39 Next game is 282 minutes :( 2011-11-04T02:32:57 NakedJeff: None of it is intentional :) 2011-11-04T02:33:10 lol 2011-11-04T02:33:11 Aside from maybe the defensive clustering around my hill 2011-11-04T02:33:19 Is there a replay we could see 2011-11-04T02:33:20 man, Rinum, you kicked my ass too. this is depressing 2011-11-04T02:33:28 i should really add some pathfinding or something intelligent to my ai, huh 2011-11-04T02:33:38 it's not doing too terribly on the official site… :/ 2011-11-04T02:34:04 scombinator: http://ants.emptybox.org/replay.31 2011-11-04T02:34:07 NakedJeff: lol 2011-11-04T02:34:17 Yay! I'm not the worst for my language 2011-11-04T02:34:36 or for my org 2011-11-04T02:34:49 blue's kinda dense, and orange is very sparse 2011-11-04T02:35:20 Yellow has very nice hill defense 2011-11-04T02:36:16 scombinator: And eventually flips out stops reacting sanely and then times out 2011-11-04T02:36:29 *** mleise has joined #aichallenge 2011-11-04T02:36:31 It's a shame 2011-11-04T02:36:45 Do you have a timer check? 2011-11-04T02:37:40 krishna: it's a very charming personality 2011-11-04T02:38:02 I think yellow actually won that. It's the only one to get a hill cap 2011-11-04T02:38:13 i like how my entire army ends up hovering around a piece of food that it's too chicken to eat, because of two of your yellow guys 2011-11-04T02:38:21 scombinator: No time check with this version yet. Rewrote my bot for the third time in haskell 2011-11-04T02:38:34 ahh. Mine's in Lisp 2011-11-04T02:39:00 oh yay, i finally won a game :P 2011-11-04T02:39:01 Whenever I branch into checking a new position I check if there is enough time to do so, if not throw what ever the current best is at it 2011-11-04T02:40:05 avdg: i just now had a game with you on tcp: your bot crashed in turn1 only 2011-11-04T02:40:20 yeah, live edit :-) 2011-11-04T02:40:25 will fix it soon 2011-11-04T02:40:33 *** Fandekasp has joined #aichallenge 2011-11-04T02:40:51 * avdg thinks he was the smartest person in the world for that 1 sec 2011-11-04T02:40:53 *** Palmik has quit IRC (Remote host closed the connection) 2011-11-04T02:41:04 Need to set up tcp bot to understand live input 2011-11-04T02:41:18 with an rts interface 2011-11-04T02:41:43 nobody plays anymore? 2011-11-04T02:41:54 im playing right now... 2011-11-04T02:41:55 LouisMartin: i'm in a game now 2011-11-04T02:42:00 ok 2011-11-04T02:42:16 Rinum: stop being me 2011-11-04T02:42:28 let me know when you want to play another one 2011-11-04T02:42:31 *** Harpyon has quit IRC (Quit: Computer has gone to sleep.) 2011-11-04T02:42:35 Rinum: oh wait, we tied! 2011-11-04T02:42:39 Rinum: neither of us did a damn thing 2011-11-04T02:42:41 Whoa 2011-11-04T02:42:44 NakedJeff: yeah lol 2011-11-04T02:42:56 My bot just captured a hill. It doesn't even know about hills yet 2011-11-04T02:43:00 Rinum: i like how you had 120 ants at the end just waiting for a chance to spawn 2011-11-04T02:43:07 lol 2011-11-04T02:43:26 I think I'm queued and will play against you next time 2011-11-04T02:44:02 i just finish one...and start over again... 2011-11-04T02:44:23 borken? 2011-11-04T02:44:32 really? look like my session is fudged 2011-11-04T02:44:47 nope 2011-11-04T02:44:56 it was me :-) 2011-11-04T02:45:00 I love live edit 2011-11-04T02:46:47 Rinum: ok, http://ants.emptybox.org/replay.51 is pretty entertaining 2011-11-04T02:46:52 Rinum: your defense is intimidating 2011-11-04T02:46:55 hehe 2011-11-04T02:46:59 Rinum: and at the very very end, you start attacking in formation 2011-11-04T02:47:01 *** Fandekasp has quit IRC (Ping timeout: 240 seconds) 2011-11-04T02:47:06 Rinum: but then it's 750 turns and the game is over 2011-11-04T02:47:07 its spitting warnings :-) 2011-11-04T02:47:29 NakedJeff: i wish it had gone on just a little longer 2011-11-04T02:47:43 NakedJeff: yup me too 2011-11-04T02:48:11 I'm surprised my bot isn't timing out 2011-11-04T02:49:33 watch a the game settings... i think timeturn is like 5 sec... while normal is 1 sec 2011-11-04T02:50:00 Yeah. It's longer to account for the fact that we are sending everything over the internet. 2011-11-04T02:50:02 normal is half a second 2011-11-04T02:50:27 I lost :| Can't believe I lost without defense or attack.. What about Gandhi? No AI for Gandhi? 2011-11-04T02:51:12 LouisMartin: hahahahaha 2011-11-04T02:51:21 nmalbran: your ai is way too good for me 2011-11-04T02:51:42 :D 2011-11-04T02:52:29 im trying to improve it... in the oficial server it doesnt play so good... 2011-11-04T02:52:43 nmalbran: what's your rank? 2011-11-04T02:53:29 *** Chunes has quit IRC () 2011-11-04T02:53:45 now 2928, skill ~42 2011-11-04T02:53:46 if I don't end up winning this =P, I really want FlagCapper to win 2011-11-04T02:54:08 best skill i had was like 53 2011-11-04T02:55:52 HELLZ TO THE YEAH! http://ants.emptybox.org/replay.61 2011-11-04T02:56:29 Rinum: nice 2011-11-04T02:57:08 *** retybok_ has joined #aichallenge 2011-11-04T02:57:32 thanks :) I lucked out on K timing out lol 2011-11-04T02:57:43 Rinum: i was watching the same game... gg 2011-11-04T02:58:03 thanks 2011-11-04T02:59:02 K bot have a weird behaviour... just on seeing an enemy hill it start joining ants at hill... eventually attacking at some point... eventually timingout... 2011-11-04T03:00:35 krishna: game 65 you were clearly winning when you timed out :( 2011-11-04T03:00:58 Maybe K timed out in disgust 2011-11-04T03:01:45 meh, I have a ghost connection 2011-11-04T03:01:52 *** dvladim has joined #aichallenge 2011-11-04T03:01:59 INFO: avdg is already queued for game 69 2011-11-04T03:02:18 ah, its fixed 2011-11-04T03:02:20 *** jezuz` has quit IRC (Read error: Connection reset by peer) 2011-11-04T03:04:03 I see why I was timing out more and more often. If I queue up a bunch of games, they don't all quit until all the games are over. 2011-11-04T03:04:27 So I was filling up memory with MyBots 2011-11-04T03:04:48 I definitely still have a timeout problem, but not such a frequent one 2011-11-04T03:05:06 Rinum: You had that game solidly one by the time I timed out. 2011-11-04T03:06:17 NakedJeff: That looked like it might have ultimately become a stalmate though. Neither of our bots is particular aggressive. 2011-11-04T03:06:37 An army will flee from a single ant 2011-11-04T03:07:14 krishna: true 2011-11-04T03:07:25 I need to implement this dude's defense strat! http://aichallenge.org/visualizer.php?game=48944&user=3845 2011-11-04T03:07:35 s/one/won 2011-11-04T03:08:32 oh that is pretty sweet lol 2011-11-04T03:08:44 but not foolproof 2011-11-04T03:09:16 lol his defense broke up http://aichallenge.org/visualizer.php?game=54213&user=3845 2011-11-04T03:09:16 but quite usefull :D 2011-11-04T03:09:54 lol his ants ran away 2011-11-04T03:09:58 the square around his hill? 2011-11-04T03:10:04 i guess the drawback is that if the scout ants die he has to use his defense to go on 2011-11-04T03:10:34 i think he keep the defense while having num of ants > x.... if not... they go exploring... 2011-11-04T03:10:36 Has anyone looked into predicting where enemy hills are? 2011-11-04T03:10:47 mmm not yet 2011-11-04T03:10:51 I've thought about it 2011-11-04T03:10:57 I'm guessing that's what Mr. Parasprites did 2011-11-04T03:11:26 another drawback is that he use to many ants to protect... 2011-11-04T03:11:26 i'd rather focus on a solid bot rather than a bot that depends on prediction 2011-11-04T03:12:40 Heh, "Run aways there's one of them and 8 of us!" 2011-11-04T03:13:28 Time to work on a visibility map now 2011-11-04T03:14:20 me too.... i need to improve the explore part... and the attaking hills part is no very good in mazes 2011-11-04T03:15:15 *** msqrdstr has joined #aichallenge 2011-11-04T03:17:04 drawing circles, yay! 2011-11-04T03:17:30 *** msqrdstr has left #aichallenge 2011-11-04T03:18:10 sigh, I really want to participate but I have no clue where to even begin. The starter packages seem to assume you already know what's going on with expected formatting of input and output. And the tutorial skips from install/setup right to adding features, with no explanation of what the starter package is actually doing 2011-11-04T03:18:32 Is there a good tutorial in the forums or something? 2011-11-04T03:19:11 userjjb: the starter packages are there so you can ignore most of the input format :) 2011-11-04T03:19:17 there are tutorials on the website 2011-11-04T03:19:42 Right, but most of the packages give little explaantion of what's going on in the code 2011-11-04T03:19:52 which language are you using? 2011-11-04T03:20:16 *** retybok_ has quit IRC (Ping timeout: 260 seconds) 2011-11-04T03:20:27 Any of them, I started out with C# but I really don't like OOP 2011-11-04T03:20:29 doing the http://aichallenge.org/ants_tutorial.php will give you understanding of starter package 2011-11-04T03:20:49 and what they actually do 2011-11-04T03:21:18 *** tmandry has quit IRC (Ping timeout: 258 seconds) 2011-11-04T03:21:53 But it doesn't, it just goes from "Setting Up" to adding features, it deosn't explain what the existing code does at all 2011-11-04T03:22:32 userjjb: even i was confused by the starter packages, i'm really bad at understanding others code, so instead i wrote my own input line parser are datastructures from the beginning, took me whole 1 day 2011-11-04T03:23:11 read the game specs page 2011-11-04T03:24:29 im using python, and the parser is well commented... i didnt have problems to understand it... except some hardcoded parts 2011-11-04T03:25:25 I haven't dare touch ants.py 2011-11-04T03:25:37 ants.lisp is full of my shit 2011-11-04T03:26:03 ccc: That's what I want to do, is there a way to see the actual output of the game so I can get an idea of how to read it in? 2011-11-04T03:26:21 read the spec 2011-11-04T03:26:43 when I run play_one_game.cmd and look at the console output it doesn't seem to show what I expect 2011-11-04T03:27:03 is there a verbose flag or something? 2011-11-04T03:27:06 http://aichallenge.org/specification.php -> "Below is sample input for player 'a' in the above game" 2011-11-04T03:27:19 There's a arg you can add to the playgame.py where you can see the stderr 2011-11-04T03:27:19 nope, play_one_game output more readable output for human... not actual output for bot 2011-11-04T03:27:23 I think it's '-e' 2011-11-04T03:27:23 on the visualizer you have a robot icon at bottom right hand called "bot in", that will give you exact engine input for each turn 2011-11-04T03:27:24 userjjb: it shows the state of the game, not all the inputs for all players 2011-11-04T03:27:50 cool, thanks guys, off to give it another try 2011-11-04T03:28:53 going to sleep right now... too late here 2011-11-04T03:28:56 bye all! 2011-11-04T03:30:08 *** Rinum has quit IRC (Ping timeout: 265 seconds) 2011-11-04T03:30:30 *** NakedJeff has quit IRC (Quit: NakedJeff) 2011-11-04T03:30:46 *** delt0r__ has quit IRC (Ping timeout: 260 seconds) 2011-11-04T03:32:56 07:14:35 < Venom> speaking of which, http://ants.fluxid.pl/ is still down? :( ← ffs, restarted 2011-11-04T03:36:50 *** Cyb has joined #aichallenge 2011-11-04T03:43:01 *** delt0r__ has joined #aichallenge 2011-11-04T03:47:23 *** ccc has quit IRC (Quit: Textual IRC Client: http://www.textualapp.com/) 2011-11-04T03:49:26 What's the radius of visibility? 2011-11-04T03:50:10 *** cyphase has quit IRC (Ping timeout: 260 seconds) 2011-11-04T03:50:42 sqrt(55) 2011-11-04T03:50:55 er, sqrt(77) 2011-11-04T03:50:59 *** cyphase has joined #aichallenge 2011-11-04T03:51:05 That's huuuuuge 2011-11-04T03:51:14 scombinator, You can see the server settings here. http://aichallenge.org/game_settings.php 2011-11-04T03:51:29 scombinator: are you doing your bot in unlambda? 2011-11-04T03:51:39 hahahah 2011-11-04T03:51:58 I'm not even using the ycombinator for my recursion 2011-11-04T03:52:08 cheater 2011-11-04T03:52:31 :P Lisp is enough for me 2011-11-04T03:54:37 An 8 square view radius doesn't seem so huge on the bigger maps. 2011-11-04T03:55:17 *** bobbydroptable has quit IRC (Quit: Leaving) 2011-11-04T03:55:46 *** Cyb has quit IRC (Ping timeout: 244 seconds) 2011-11-04T03:59:19 *** Shad0wfax has joined #aichallenge 2011-11-04T04:00:11 *** dvladim has quit IRC (Read error: Operation timed out) 2011-11-04T04:00:46 *** Fandekasp has joined #aichallenge 2011-11-04T04:01:12 *** nmalbran has quit IRC (Quit: Page closed) 2011-11-04T04:01:17 *** sigh has joined #aichallenge 2011-11-04T04:02:29 *** antimatroid has quit IRC (Ping timeout: 244 seconds) 2011-11-04T04:03:17 Thats 8 from the centre, or eight including the center? 2011-11-04T04:03:37 all squares s.t. dx^2 + dy^2 < 77 2011-11-04T04:04:03 I'm trying to see if my visibility map is going to be correct 2011-11-04T04:04:11 *** epicmonkey has joined #aichallenge 2011-11-04T04:08:49 *** ikaros has joined #aichallenge 2011-11-04T04:12:23 a1k0n: is it < or <= ? 2011-11-04T04:17:37 *** amstan has quit IRC (Ping timeout: 258 seconds) 2011-11-04T04:19:20 *** oops has quit IRC (Quit: Page closed) 2011-11-04T04:20:55 Fluxid: is the server alive? 2011-11-04T04:22:05 nope 2011-11-04T04:24:38 *** Blkt has joined #aichallenge 2011-11-04T04:25:55 aichallenge: janzert epsilon * r30be729 / ants/dist/starter_bots/javascript/Ants.js : Change flush method for javascript starter - http://git.io/kCnqLw 2011-11-04T04:29:00 *** Frank_ has joined #aichallenge 2011-11-04T04:29:40 hi 2011-11-04T04:31:11 *** epicmonkey has quit IRC (Ping timeout: 248 seconds) 2011-11-04T04:31:53 *** Frank_ has quit IRC (Client Quit) 2011-11-04T04:39:00 *** dvladim has joined #aichallenge 2011-11-04T04:39:38 *** thestinger has joined #aichallenge 2011-11-04T04:40:59 *** Frank_ has joined #aichallenge 2011-11-04T04:42:23 is there a contest organizers in here? I've got a problem with the registration 2011-11-04T04:42:36 good morning everyoen 2011-11-04T04:43:11 aichallenge: janzert epsilon * rd9bcbff / (sql/2_generate_matchup.sql sql/opponent.sql): Make match_quality in pairing code a true geometric mean - http://git.io/E_BH6w 2011-11-04T04:43:11 everyone* 2011-11-04T04:43:15 *** Jak_o_Shadows1 has joined #aichallenge 2011-11-04T04:44:38 Frank_ try the forums 2011-11-04T04:44:51 *** pedrosorio has joined #aichallenge 2011-11-04T04:45:04 thank. But I cannot register 2011-11-04T04:45:11 Oh 2011-11-04T04:45:32 *** cali_ has quit IRC (Ping timeout: 265 seconds) 2011-11-04T04:45:43 the email for registration has not arrived... 2011-11-04T04:45:58 "Did you check your spam folder?" 2011-11-04T04:46:04 yesù 2011-11-04T04:46:13 I'm out of ideas 2011-11-04T04:46:13 *** Jak_o_Shadows has quit IRC (Ping timeout: 245 seconds) 2011-11-04T04:46:15 Frank_, Unfortunately most of them are probably asleep right now 2011-11-04T04:46:30 If not all 2011-11-04T04:46:40 Oh wait janzert must be up 2011-11-04T04:46:46 There were just some patches 2011-11-04T04:46:51 Frank_: what is your username? 2011-11-04T04:47:00 LAMMM_Five 2011-11-04T04:47:01 SharkMonkey: just should be asleep ;) 2011-11-04T04:48:24 *** TheDigitalNinja has joined #aichallenge 2011-11-04T04:48:40 Don't acknowledge your human weakness. There are bots everywhere. 2011-11-04T04:49:36 Offline learning algorithms are no weakness; It's a trade-off 2011-11-04T04:50:39 hmm. my bot seems to be broken. it's utterly failing to attack 2011-11-04T04:50:57 Frank_: the message bounced saying that either that google group did not exist or we couldn't post to it 2011-11-04T04:51:43 that's right. I've fixed it and now I can receive email from externs 2011-11-04T04:51:51 could anyone tell me what is (or where to find) the ending date of this AI Challenge? 2011-11-04T04:52:02 can you please just resend the mail? 2011-11-04T04:52:24 yep, it'll be from janzert@aichallenge.org instead of staff@aichallenge.org this time though 2011-11-04T04:52:48 Yay, my visibility map works outside of the ai 2011-11-04T04:52:49 scombinator, whales and dolphins only take have of their brain offline at a time to perform these functions 2011-11-04T04:53:19 Whales and dolphins can't sleep in a bed 2011-11-04T04:53:28 or build a shelter 2011-11-04T04:53:54 janzert: ok, thank you 2011-11-04T04:54:06 should get it soon 2011-11-04T04:54:20 Roiboos 2011-11-04T04:55:21 well done, I got the mail 2011-11-04T04:55:30 ;) thank you 2011-11-04T04:55:35 *** DummySphere has joined #aichallenge 2011-11-04T04:55:36 great, have fun 2011-11-04T04:56:20 you can go to sleep now, ehehe 2011-11-04T04:57:02 :) I think the insomnia is going to keep me up for the day now 2011-11-04T04:57:53 *** PathFinding has joined #aichallenge 2011-11-04T04:57:55 no time to waste sleeping 2011-11-04T04:59:27 *** stano has joined #aichallenge 2011-11-04T05:01:03 *** HaraKiri has joined #aichallenge 2011-11-04T05:01:44 *** antimatroid has joined #aichallenge 2011-11-04T05:03:27 hi there :) 2011-11-04T05:04:05 what have you decided about upgrading luajit to beta 2.0.8? 2011-11-04T05:05:31 http://www.cfd-online.com/Forums/openfoam-installation/57528-taking-advantage-gccbs-profilearcs-optimization.html .It would be cool if we would be allowed to also give a .gdba file when compiling with gcc 2011-11-04T05:05:34 *** Frank_ has quit IRC (Quit: Page closed) 2011-11-04T05:07:26 *** Shad0wfax has left #aichallenge 2011-11-04T05:08:45 *** stano has quit IRC (Remote host closed the connection) 2011-11-04T05:10:51 09:20:55 < avdg> Fluxid: is the server alive? ← 2011-11-04 10:10:43,625 - tcp - INFO - 3 games, 16 players online. 2011-11-04T05:11:24 so, it is, i restarted it hour before you asked :( 2011-11-04T05:12:44 DummySphere: the chances aren't terribly high still 2011-11-04T05:12:51 *** NotABug has joined #aichallenge 2011-11-04T05:14:17 Any chance of factor being a language option? 2011-11-04T05:15:22 http://fluxid.pl/private/2011-11-04-101509_286x94_scrot.png wow, -0.5 minutes 2011-11-04T05:15:50 krishna, absolutely 2011-11-04T05:16:03 oh wait, you mean they'd have to implement the compilation 2011-11-04T05:16:44 scombinator: Yeah :). Not much use if I can't submit it 2011-11-04T05:16:50 Fluxid: You already won! 2011-11-04T05:17:41 Next game should be within -2.1 minutes. 2011-11-04T05:17:42 haha 2011-11-04T05:18:25 Fluxid: it pauzed for like 4 min (but that could be caused by anything, as I don't have any information at all) 2011-11-04T05:18:30 krishna: maybe some, more if the binary package works on ubuntu 10.04 x64, more if someone steps forward with a patch for the worker installation and compiler.py support 2011-11-04T05:21:03 Thanks, I'll look into it next week. 2011-11-04T05:23:33 *** nek has joined #aichallenge 2011-11-04T05:26:56 *** alc has quit IRC (Ping timeout: 276 seconds) 2011-11-04T05:33:25 Right, it works in multi-hill maps aswell if you increase the loadtime... 2011-11-04T05:34:15 That thingie with that other thing needs fixin' 2011-11-04T05:36:18 So it's only horrendously sub-optimal instead of broken 2011-11-04T05:39:01 is the whole account deactivation-thingie still in place? the game times have been so slow again lately :( 2011-11-04T05:39:39 Too many people joining the competition> 2011-11-04T05:42:42 I think the account deactivation isn't working properly 2011-11-04T05:43:02 my bot has been deactivated for several days and I'm getting more games than ever 2011-11-04T05:43:55 *** Jak_o_Shadows has joined #aichallenge 2011-11-04T05:43:56 oh cool trick, i should try that :D 2011-11-04T05:45:18 :) 2011-11-04T05:45:28 The other day people were saying deactivated bots were getting to play ever few minutes. 2011-11-04T05:45:48 While activated ones played every few hours 2011-11-04T05:46:00 Every 8 hours 2011-11-04T05:46:17 *** aerique has joined #aichallenge 2011-11-04T05:47:05 well if that's true, it's an obious bug 2011-11-04T05:47:12 *** Jak_o_Shadows1 has quit IRC (Ping timeout: 256 seconds) 2011-11-04T05:47:36 pedrosorio: huh? 2011-11-04T05:48:21 Fluxid: my bug has been playing around 15 games / day 2011-11-04T05:48:22 *** antimatroid has quit IRC (Quit: Leaving.) 2011-11-04T05:48:25 *** antimatroid1 has joined #aichallenge 2011-11-04T05:48:25 and it's deactivated 2011-11-04T05:48:34 O_o 2011-11-04T05:48:35 wow 2011-11-04T05:48:38 yep 2011-11-04T05:48:42 it doesn't make any sense 2011-11-04T05:48:49 do the gods kno about it? 2011-11-04T05:49:06 I have written about it more than once in the forums 2011-11-04T05:49:16 deactivation is working properly, but being an established bot (so you give more information to the rankings) can more than make up for it 2011-11-04T05:50:26 there are current 1646 deactivated bots with 0 games in the past 24 hours btw 2011-11-04T05:50:46 Hello 2011-11-04T05:51:04 What does "established bot" mean ? 2011-11-04T05:51:11 Maybe I should deactivate my bot, I know it's not great right now 2011-11-04T05:51:13 The server knows your strength 2011-11-04T05:51:19 = established 2011-11-04T05:51:23 NotaBug: one with a known ranking 2011-11-04T05:51:38 It takes a few matches for your score to become accurate 2011-11-04T05:52:32 *** antimatroid1 has quit IRC (Ping timeout: 244 seconds) 2011-11-04T05:52:46 *** antimatroid has joined #aichallenge 2011-11-04T05:52:52 so 2011-11-04T05:53:05 If you play against bots with known skill levels the matches can figure out your level quicker 2011-11-04T05:53:10 *** TheDigitalNinja has quit IRC (Remote host closed the connection) 2011-11-04T05:53:10 I'm basically the "solid step" that bots going up the ladder need to use 2011-11-04T05:53:11 xD 2011-11-04T05:53:17 yup^^ 2011-11-04T05:53:21 precisely, what is it based on ? sigma ? 2011-11-04T05:53:48 It doesn't look like elo 2011-11-04T05:53:56 NotABug: that is what is effecting it, yes. It is the truskill match quality 2011-11-04T05:53:58 sigma is "true" skill, mu is uncertainty 2011-11-04T05:54:06 Fluxid: reverse 2011-11-04T05:54:10 right! 2011-11-04T05:54:17 skil you see = mu-2*sigma 2011-11-04T05:54:25 3* ;) 2011-11-04T05:54:26 -3*sigma 2011-11-04T05:54:27 :P 2011-11-04T05:54:31 still I tend to wonder 2011-11-04T05:54:38 how "stable" my bot really is and not random 2011-11-04T05:55:29 here's me getting my only hill destroyed at turn 69 and still getting first place 2011-11-04T05:55:29 http://aichallenge.org/visualizer.php?game=53630&user=1280 2011-11-04T05:55:30 xD 2011-11-04T05:55:31 fff, right, 3, i didn't sleep well 2011-11-04T05:56:01 janzert: so according to what you say i should have less games if i resubmit my bot. Thas is not what i am seeing. 2011-11-04T05:56:47 *** TheDigitalNinja has joined #aichallenge 2011-11-04T05:57:13 I just resubmitted mine after 93 games, the game period seems about unchanged ~ 8 hours 2011-11-04T05:57:20 bah, fell to 6 place... 2011-11-04T05:57:41 My bot is always '0' right? 2011-11-04T05:57:47 right 2011-11-04T05:57:56 and >0 enemy 2011-11-04T05:59:06 NotABug: if your bot was previously deactivated, the two factors should balance 2011-11-04T05:59:14 Good, now my damn bot will stop blocking the hill 2011-11-04T05:59:19 (not established anymore vs activated bot) 2011-11-04T05:59:50 pedrosorio: no, i never deactivated my bot 2011-11-04T06:00:03 just replaced it 2011-11-04T06:01:06 it is deactivated automatically after 3 days 2011-11-04T06:01:32 Oct 21st 8:02am Deactivated: not in queue to play game 81.55 93 202 C 2011-11-04T06:01:49 (assuming you are ThisIsNotABug) 2011-11-04T06:03:07 yes of course the old version gets deactivated as soon as you upload a new one, is there another possibility ? 2011-11-04T06:03:59 will the viewradius2 and attackradius2 settings always be integers? 2011-11-04T06:04:18 The point of making them the squared version was so they would be 2011-11-04T06:04:24 k, good :) 2011-11-04T06:06:04 *** TheDigitalNinja has quit IRC (Ping timeout: 255 seconds) 2011-11-04T06:08:35 "[10:00] it is deactivated automatically after 3 days" 2011-11-04T06:09:20 *** DigitalNinja has joined #aichallenge 2011-11-04T06:11:28 *** scombinator has quit IRC (Ping timeout: 258 seconds) 2011-11-04T06:13:53 *** nek has quit IRC (Remote host closed the connection) 2011-11-04T06:17:19 *** mcstar has joined #aichallenge 2011-11-04T06:18:10 *** sjoerd_visscher has joined #aichallenge 2011-11-04T06:18:45 It seems that only deactivated bots are chosen as opponents? 2011-11-04T06:20:14 *** Fandekasp has quit IRC (Ping timeout: 276 seconds) 2011-11-04T06:22:52 NotABug: ~8 hours is what it takes between being seeded 2011-11-04T06:23:39 you'll see that certain bots will get quite a higher rate as they get "pulled into" more games 2011-11-04T06:24:03 *** olexs has joined #aichallenge 2011-11-04T06:24:16 pretty much never end up as a seed but their preferred status more than makes up for it 2011-11-04T06:24:19 ah ok thx 2011-11-04T06:24:49 by preferred status I mean they end up with a high match quality against many bots 2011-11-04T06:25:25 *** dvladim has quit IRC (Read error: Operation timed out) 2011-11-04T06:29:49 So with the current setting (worker nb, user nb), it seems we have to wait maybe 5+ days to get a somewhat meaningful rating after a resubmit 2011-11-04T06:30:33 Do you think it will improve ? 2011-11-04T06:30:44 10 games should get you in the right area 2011-11-04T06:30:55 I hope so of course 2011-11-04T06:31:27 have been working on a mechanism to spread the games a little more evenly this morning 2011-11-04T06:31:30 10 games takes 3 days at the moment 2011-11-04T06:31:37 sjoerd_visscher: right 2011-11-04T06:32:06 how is it that 9 out of 10 opponents is deactivated? 2011-11-04T06:32:27 are there so many deactivated bots in the top 500? 2011-11-04T06:32:32 they haven't activated or resubmitted in the past 3 days? 2011-11-04T06:32:34 sjoerd_visscher: yes 2011-11-04T06:32:42 no 2011-11-04T06:32:56 what about the donation thing to have more workers ? I think many would be willing to participate, but maybe it is complicated to setup ? 2011-11-04T06:33:18 Jeff is supposed to be working on it, but he is the only one that can do it 2011-11-04T06:35:13 ok, thanks for the info! 2011-11-04T06:35:15 "activated"? what does this entail? 2011-11-04T06:35:19 *** sjoerd_visscher has quit IRC (Quit: Page closed) 2011-11-04T06:35:44 mcstar: hitting the activate button at the bottom of your profile or resubmitting 2011-11-04T06:35:53 k 2011-11-04T06:36:07 havent logged in since i did my upload 2011-11-04T06:37:11 my c++ bot is now almost as smart as the cl one 2011-11-04T06:37:19 soon i will upload 2011-11-04T06:37:51 but its much more code 2011-11-04T06:38:09 *** replore has quit IRC (Remote host closed the connection) 2011-11-04T06:39:15 *** replore_ has joined #aichallenge 2011-11-04T06:40:04 on a side-note, why cant one derive an iterator from an instantiated data container? 2011-11-04T06:40:19 *** replore_ has quit IRC (Remote host closed the connection) 2011-11-04T06:40:24 it seems soo stupid to write all the templated container type class all the time to get a stupid iterator 2011-11-04T06:41:32 *** PathFinding has quit IRC (Ping timeout: 265 seconds) 2011-11-04T06:42:00 mcstar: you can use c++11 now 2011-11-04T06:42:14 name your main file MyBot.cpp and the server uses -std=c++0x to compile 2011-11-04T06:42:18 how does it help this problem? 2011-11-04T06:42:35 so you can do 'auto it = container.begin()' instead of 'std::vector::iterator it = container.begin()', etc. 2011-11-04T06:42:47 i see 2011-11-04T06:42:57 thx 2011-11-04T06:43:16 If only it also supported the range based for loops. 2011-11-04T06:43:38 *** kilae has joined #aichallenge 2011-11-04T06:43:46 *** theskumar has joined #aichallenge 2011-11-04T06:43:57 i have 4.6.2 2011-11-04T06:44:05 but the server has 4.5.x right? 2011-11-04T06:44:10 yeah 2011-11-04T06:44:13 you can use auto since 4.4 2011-11-04T06:44:19 k 2011-11-04T06:44:24 http://gcc.gnu.org/projects/cxx0x.html 2011-11-04T06:44:39 i just recently hopped on the c++ bandwagon 2011-11-04T06:45:12 *** espes has joined #aichallenge 2011-11-04T06:45:45 :D 2011-11-04T06:45:47 I usually use python but I used this contest as an excuse to really learn C++ (I already knew C very well) 2011-11-04T06:46:07 same here 2011-11-04T06:46:15 well, maybe not "very well" 2011-11-04T06:46:27 ah, sorry, i didnt mean to imply that i like python 2011-11-04T06:46:34 i dont :) 2011-11-04T06:46:39 *** conor_f has joined #aichallenge 2011-11-04T06:46:42 *** olexs has quit IRC (Quit: Leaving.) 2011-11-04T06:46:46 hehe 2011-11-04T06:46:51 *** cafaro has quit IRC (Read error: Connection reset by peer) 2011-11-04T06:47:30 I don't really like python, I just use it :P 2011-11-04T06:47:57 i use it for quick data exploration 2011-11-04T06:48:17 it's high level and the standard lib is amazing, which is usually all I care about for writing random little scripts 2011-11-04T06:50:16 i was surprised when i tried to use stl sets, that i have to have objects that implement the "less than" operator 2011-11-04T06:50:24 and its the same for maps too 2011-11-04T06:50:24 ah, they're ordered sets 2011-11-04T06:50:41 you want unordered_set and unordered_map (you need C++11, which we have now :D) for hash based ones 2011-11-04T06:50:45 in cl, you can throw ANYTHING into hashtables :D 2011-11-04T06:50:53 set/map are trees I think 2011-11-04T06:50:59 yes, i saw that later on 2011-11-04T06:51:39 sure? map isnt hashed? 2011-11-04T06:52:05 nope, it's a tree (at least in gcc) 2011-11-04T06:52:20 unordered_map is definitely a hash table though 2011-11-04T06:52:23 well, with a high branching factor i guess a tree comes close 2011-11-04T06:52:26 but im not sure 2011-11-04T06:52:40 https://secure.wikimedia.org/wikipedia/en/wiki/Red–black_tree I think it's one of these 2011-11-04T06:53:01 i read that set is binary tree based 2011-11-04T06:53:05 i.e. red-black 2011-11-04T06:53:17 but i though map isnt, nvm 2011-11-04T06:53:21 t* 2011-11-04T06:54:07 my bot is pretty simple 2011-11-04T06:54:15 all there is in MyBot.cc: 2011-11-04T06:54:17 extern int main(void); 2011-11-04T06:57:05 *** mlmnl has joined #aichallenge 2011-11-04T06:57:19 *** SharkMonkey has quit IRC (Ping timeout: 248 seconds) 2011-11-04T06:59:58 *** antimatroid has quit IRC (Ping timeout: 245 seconds) 2011-11-04T07:00:58 *** antimatroid has joined #aichallenge 2011-11-04T07:02:12 Mine has import skynet 2011-11-04T07:08:58 ah, using go i take it? 2011-11-04T07:09:04 go! 2011-11-04T07:09:25 im still confused 2011-11-04T07:09:36 i has no !, at least the google version 2011-11-04T07:09:41 but theres another go 2011-11-04T07:09:51 so i guess that has the exclamation mark 2011-11-04T07:10:38 yep, derived from prolog, go! 2011-11-04T07:11:01 i feel soo smart when i have access to the internet 2011-11-04T07:12:01 *** Jak_o_Shadows1 has joined #aichallenge 2011-11-04T07:12:19 *** xathis has joined #aichallenge 2011-11-04T07:14:55 *** Jak_o_Shadows has quit IRC (Ping timeout: 260 seconds) 2011-11-04T07:15:23 *** theskumar has left #aichallenge 2011-11-04T07:16:39 thestinger: lets say i have a list of dynamically allocated classes 2011-11-04T07:16:55 so these elements are of class* type 2011-11-04T07:17:13 when i kill my list, i want to delete those classes as well 2011-11-04T07:17:33 what do you think is better than iterating over the elements and kill them one-by-one? 2011-11-04T07:18:08 destructors, and use references/smart pointers rather than C pointers 2011-11-04T07:18:41 i was considering those atl pointers too 2011-11-04T07:19:19 so you mean, i should make the list std::list ? 2011-11-04T07:19:49 well, actually std::list* mylist is better 2011-11-04T07:20:21 and when i say delete mylist, it will kill the classes properly? 2011-11-04T07:21:01 *** Jak_o_Shadows1 has quit IRC (Remote host closed the connection) 2011-11-04T07:21:06 mylist.push_back(myclass(constructor arguments)) will initialize the references 2011-11-04T07:21:21 well, it will call the destructors 2011-11-04T07:21:29 you could just do std::list instead 2011-11-04T07:22:01 no 2011-11-04T07:22:09 i want to move those classes around 2011-11-04T07:22:21 and i only want to free those that i leave in the list 2011-11-04T07:22:30 so poitners are well suited for this 2011-11-04T07:22:38 but im not sure i can do this with refs 2011-11-04T07:22:46 and with im sure i cant 2011-11-04T07:22:50 ah, you probably want shared pointers 2011-11-04T07:23:05 they basically do reference counting and then call the destructor when there aren't any references 2011-11-04T07:23:25 are those in stl too? 2011-11-04T07:24:09 janzert: would it be possible to choose the wanted interpreter in the profile page? i.e. for Lua files: vanilla Lua, LuaJIT 2.0.0 beta 5 or LuaJIT 2.0.0 beta 8 2011-11-04T07:24:22 mcstar: yeah, there are a few types of them 2011-11-04T07:24:48 you probably want to do a bit of searching and figure out which one is best for what you want - I haven't really used C++ for very long either so I'm not sure 2011-11-04T07:25:04 aichallenge: janzert epsilon * r8f023c5 / (sql/2_generate_matchup.sql sql/opponent.sql): Progressively weight against players with heigher game counts during pairing - http://git.io/TV2_OA 2011-11-04T07:25:05 ill do that thx 2011-11-04T07:25:19 ah, you want scoped_ptr for a single reference and shared_ptr when you need ref counting 2011-11-04T07:25:22 DummySphere: it would take the addition of a new mechanism to do that 2011-11-04T07:25:31 janzert: it could be done for python or other interpreted languages as well 2011-11-04T07:26:41 thestinger: http://www.cplusplus.com/reference/std/memory/auto_ptr/ this will do i think 2011-11-04T07:26:42 yes, I know, but is there another solution? 2011-11-04T07:27:37 *** Fandekasp has joined #aichallenge 2011-11-04T07:27:54 mcstar: auto_ptr is actually deprecated in C++0x iirc, so you probably want shared_ptr 2011-11-04T07:28:00 there is but it's an even deeper change and won't be happening till after the contest end 2011-11-04T07:28:03 :( 2011-11-04T07:28:12 it gets you the same thing I think 2011-11-04T07:28:25 just when i got to know it its already out of fashion 2011-11-04T07:29:05 thestinger: do you have a similarly good, but up to date site? 2011-11-04T07:29:16 http://www.cplusplus.com is very well organized 2011-11-04T07:30:26 and what about changing the extension (.luajit2-8 :S) or to add a special file in submitted archive? 2011-11-04T07:31:25 i guess its a mess to install those different versions side by side 2011-11-04T07:31:47 mcstar: http://en.cppreference.com/w/cpp this looks good 2011-11-04T07:32:02 :) already there 2011-11-04T07:33:06 DummySphere: the other problem with upgrading to latest is that what we are using now is the version in ubuntu natty so it's a simple 'apt-get install luajit' for anything newer we'll need to install it from scratch 2011-11-04T07:33:38 that problem remains if we replace the current version or add it as a 'separate' language 2011-11-04T07:35:52 ok, so what you are saying is that it will be luajit 2.0.0 beta5 until the end of this contest? 2011-11-04T07:36:04 that is most likely yes 2011-11-04T07:37:23 antimatroid: here's another oppotunity to guide a lost sheep to the path 2011-11-04T07:37:48 ? 2011-11-04T07:38:02 DummySphere: why dont you try c++ instead? has a nice starter bot too 2011-11-04T07:38:14 aichallenge: janzert epsilon * r947bdbf / sql/2_generate_matchup.sql : Correct order by - http://git.io/3cLsTA 2011-11-04T07:38:30 I'm having a problem in C++. I'm trying to implement an Ant class for each individual ant. I've bundled all the header + source files into one large file. In the ant class however, I need to use the State struct, but in the State struct, I need to use the ant class. fix? 2011-11-04T07:38:34 *** xathis has quit IRC (Ping timeout: 265 seconds) 2011-11-04T07:38:48 and mcstar, where are you getting the idea that it has a nice starter bot? :O 2011-11-04T07:38:59 is there an apposite of --fill ? 2011-11-04T07:39:04 i only heard 2011-11-04T07:39:06 conor_f: Forward declarations. 2011-11-04T07:39:19 so i could use a lrg 8 man map with only 4 bots 2011-11-04T07:39:26 mcstar: IMO, it's poor compared to the PY/Java ones 2011-11-04T07:39:27 mcstar: or I can try to make a C package with luajit 2.0.0 beta8 sources and my bot :) 2011-11-04T07:39:45 And at least one must refer to the other using a pointer or reference, not by including the struct in its class. Because if every A contains a B, but every B contains another A, you'd need an infinitely large struct anyways. 2011-11-04T07:39:56 jbroman: I'm trying that, like struct State; before the ant class 2011-11-04T07:40:12 ach 2011-11-04T07:40:14 yeah 2011-11-04T07:40:21 like I've done in last contest (although it was vanilla Lua insteat of luajit) 2011-11-04T07:40:28 TMTOWTDI I suppose :/ 2011-11-04T07:40:51 now thats an acronym all right 2011-11-04T07:40:59 :P 2011-11-04T07:41:33 well 2011-11-04T07:41:57 the ant class doesn't technically need the state struct, some of its functions need to use it though 2011-11-04T07:42:03 DummySphere: i think theres a size restriction of 2MBs on the uploads 2011-11-04T07:42:15 i dont think lua will fit 2011-11-04T07:42:21 *** astronfestmon has joined #aichallenge 2011-11-04T07:42:21 but I'm stuck on trying to pass the State struct by reference :/ 2011-11-04T07:42:28 janzert: is the size restrictin in place? 2011-11-04T07:42:42 *** ztfw has joined #aichallenge 2011-11-04T07:42:44 mcstar: ? 2011-11-04T07:42:48 bleh, big army and debug messages... 2011-11-04T07:42:51 luajit is lightweight 2011-11-04T07:42:53 oh on uploads 2011-11-04T07:42:54 what is the max size of a submission? 2011-11-04T07:42:54 i have a issue with the c# mono starter-kit 2011-11-04T07:43:01 no idea what it is 2011-11-04T07:43:14 i can't compile c# starter-kit 2011-11-04T07:43:14 i remember it was 2MBs i was told some time ago 2011-11-04T07:43:20 I haven't touched any of that since planetwars I don't think 2011-11-04T07:43:27 although I know others have 2011-11-04T07:44:23 avdg: http://aichallenge.org/forums/viewtopic.php?f=25&t=1633&start=10#p10320 and subsequent posts 2011-11-04T07:44:26 the thing is I do C++ for my job, so I like to code in Lua for fun stuff :) 2011-11-04T07:44:59 i think c++ is well suited for this kind of thing 2011-11-04T07:45:05 :O 2011-11-04T07:45:10 It compiled! 2011-11-04T07:45:14 ty pedrosorio 2011-11-04T07:45:19 great feeling :P 2011-11-04T07:45:35 dunno if it helps a lot if its a tcp game though :-) 2011-11-04T07:45:41 well, actually any statically typed language is a good choice 2011-11-04T07:45:51 or "typed" language 2011-11-04T07:45:52 Pf 2011-11-04T07:46:48 nice idea on the overlays 2011-11-04T07:46:57 im outputting to images myself 2011-11-04T07:49:35 *** astronfestmon has quit IRC (Quit: Page closed) 2011-11-04T07:50:52 nobody helped the poor guy 2011-11-04T07:51:39 mcstar: I've found Lua very well suited for this too :) C++ require just more line of code for the same result (but faster, but not so much thanks to luajit) 2011-11-04T07:52:14 and dont you find yourself writing better code because of the compiler has strong type system? 2011-11-04T07:52:27 i dont make bugs, like in common lisp 2011-11-04T07:52:55 conor_f: are you saying the c++ starter bot isn't nice? :P 2011-11-04T07:53:02 its almost as in haskell "when your program compiles, porbably it does what you inteded to do" 2011-11-04T07:53:32 (i not really comparing c++ to haskell, only the statically typed aspect of it) 2011-11-04T07:53:44 what makes the java and python starter bots nicer :\ 2011-11-04T07:53:48 antimatroid: yeah, it's poorly laid out/designed and hasn't got all the features the PY bot has 2011-11-04T07:53:56 :S 2011-11-04T07:53:57 *IMO 2011-11-04T07:54:00 which features? 2011-11-04T07:54:08 getNextMove for one 2011-11-04T07:54:19 what is that even meant to be? 2011-11-04T07:54:31 btw i wrote the c++ starter bot :P 2011-11-04T07:54:37 yeah, figured :P 2011-11-04T07:54:57 it returns the best way to move given a dest location and a start location 2011-11-04T07:55:08 DummySphere: otherwise i agree, it is way too much verbose 2011-11-04T07:55:12 returns an array/dict/whatever of the best moves in order 2011-11-04T07:55:16 it does path finding for you? 2011-11-04T07:55:24 who the hell put that in a starter bot? 2011-11-04T07:55:39 the starter package strategies are meant to be crap 2011-11-04T07:55:43 for sure, you have to launch the program to check you have not misspelled a variable 2011-11-04T07:55:46 it's just meant to get you started writing your own bot 2011-11-04T07:55:56 :P 2011-11-04T07:56:00 what's laid out badly with the c++ bot? 2011-11-04T07:56:10 i set all my bots up like that and actually quite like the structure 2011-11-04T07:56:17 fair enough 2011-11-04T07:56:22 this is all IMO 2011-11-04T07:56:25 but for a little amount of code, I prefer Lua (not the same for a large scale project) 2011-11-04T07:56:41 DummySphere: i expect this to be a not-so-small project 2011-11-04T07:56:45 well, whats the need for the bot class? or the debug class? 2011-11-04T07:56:57 my c++ bot is stupid, and i already reached 1000 lines 2011-11-04T07:57:09 :| 2011-11-04T07:57:10 I just bundled all them into one .cpp file 2011-11-04T07:57:24 My bot reaches stupidity at much smaller size 2011-11-04T07:57:24 conor_f: lol? 2011-11-04T07:57:35 pairofdice: me too :P 2011-11-04T07:57:42 pairofdice: has pathfinding and influence maps 2011-11-04T07:57:45 mcstar: yeah, whats wrong with doing that? :P 2011-11-04T07:57:57 conor_f: use c than 2011-11-04T07:57:59 bot class just makes it easier to put strategy specific code in one place 2011-11-04T07:58:00 I'm now making an ant class for each individual ant 2011-11-04T07:58:06 or c 78 2011-11-04T07:58:15 my bot is 600 lines of code, and start to be good 2011-11-04T07:58:26 mcstar: you never said what was wrong with it ;) 2011-11-04T07:58:49 i dont think that antimatroid is wrong in trying to establish a structure 2011-11-04T07:58:50 conor_f: where would you put the bot file stuff? 2011-11-04T07:58:54 thats what c++ is about 2011-11-04T07:58:55 antimatroid: don't get me wrong, I wouldn't have had a clue what to do without the starter bot 2011-11-04T07:59:01 but I'd just do it differently 2011-11-04T07:59:39 maybe it's just that I'm not used to complicated headers and stuff 2011-11-04T07:59:39 conor_f: and pouring all code into 1 file? thats silly, excuse me 2011-11-04T07:59:46 i have my own one set up slightly differently, but it mostly has the same structure 2011-11-04T07:59:52 but I prefer it my way :P 2011-11-04T07:59:54 *** spm-Draget has left #aichallenge ("Joining #reallife") 2011-11-04T08:00:09 mcstar: not all of it, Location.h and Square.h are separate 2011-11-04T08:00:18 and bug is because i like to debug stuff to file 2011-11-04T08:00:21 because they've got multiple instances 2011-11-04T08:00:22 i have 10 separate files, all has its own thing, it is almost logical 2011-11-04T08:00:34 and if you use that thing then it'll strip all debug stuff on compile without you having to explicitly remove it etc. 2011-11-04T08:00:38 my bot logic goes in one MyBot.cpp file (I still have the input parsing stuff separate), and all my algorithms like the graph stuff are in headers 2011-11-04T08:00:42 wheras timer, state, bot, they all have only one instance 2011-11-04T08:01:03 thestinger: you still have a state struct right? 2011-11-04T08:01:10 you'll want that if you ever make a game tree 2011-11-04T08:01:16 yeah, I still have that 2011-11-04T08:01:21 antimatroid: I still have that, it's just included in the main file 2011-11-04T08:01:23 I don't have the Bot one though 2011-11-04T08:01:25 https://github.com/liquid-phynix/aicbot/blob/master/base.cc 2011-11-04T08:01:38 this is my "starter", the part that can be public 2011-11-04T08:01:56 fuck, excuse the file, look at the aicbot part 2011-11-04T08:02:04 :P 2011-11-04T08:02:18 i hate other peoples code :P 2011-11-04T08:02:47 antimatroid: i hate other people :D 2011-11-04T08:02:59 mcstar: i call iterators it :) 2011-11-04T08:03:07 i also hate iterators 2011-11-04T08:03:11 :D 2011-11-04T08:03:31 antimatroid: was wondering why there was no #include :P 2011-11-04T08:03:40 that needs an include? 2011-11-04T08:03:44 no 2011-11-04T08:03:46 I dunno, I always did 2011-11-04T08:03:50 my bad so, :P 2011-11-04T08:04:29 my present code is much better than the one uploaded, i figured out the correct use of stringstreams too 2011-11-04T08:04:52 string streams area amazing 2011-11-04T08:05:16 antimatroid: and i added friend << operators for certain classes 2011-11-04T08:05:19 i'm a huge fan of the way c++ treats streams with the >> and << operators 2011-11-04T08:05:27 i know a lot of people hate it, but i really like the way it works 2011-11-04T08:05:27 what is the benefit of having multiple source files in c++? 2011-11-04T08:05:39 userjjb: split stuff up 2011-11-04T08:05:59 userjjb: you can organize the stuff better, and you can keeps the whole thing better "in mind" 2011-11-04T08:06:05 and you can find things more easily 2011-11-04T08:06:31 and , you dont have to recompile everything all the time 2011-11-04T08:06:37 I find it annoying to have to unravel the yarnball of includes etc in the starter package 2011-11-04T08:06:38 only ther part that you changed 2011-11-04T08:06:56 userjjb: you can avoid that by writing your own 2011-11-04T08:07:00 I am 2011-11-04T08:07:16 imo it should be pretty obvious when something needs something else :P 2011-11-04T08:07:17 Except I have no C++ experience so I'm teaching myself as I go 2011-11-04T08:07:26 *** sorki has quit IRC (Changing host) 2011-11-04T08:07:26 *** sorki has joined #aichallenge 2011-11-04T08:07:41 i set it up as a project file in code::blocks too, so that deals with linking etc. for me 2011-11-04T08:07:43 Currently trying to understand how the starter package actuallly reads in input with cin 2011-11-04T08:07:45 i just hit compile 2011-11-04T08:07:52 userjjb: learn c++ only if you will need it for a job or something 2011-11-04T08:08:06 userjjb: i've overloaded the operator >> for input streams 2011-11-04T08:08:17 cin is an input stream, but so is an input file stream etc. 2011-11-04T08:08:29 so you can feed pseudo state information from a file to your bot if you want 2011-11-04T08:08:33 and test the output etc. 2011-11-04T08:08:40 interesting 2011-11-04T08:08:50 i dont recommend learning c++ only if you can earn money with it really 2011-11-04T08:08:59 take my word, i know it, i read it somewhere 2011-11-04T08:09:03 same as you can overload << for output streams, which is like your output function 2011-11-04T08:09:15 I've looked at C# and I despise the OOP splattered all over it 2011-11-04T08:09:50 And what as much headroom as possible so I can be sloppy with algorithms so that rules out some of the slower interpreeted languages 2011-11-04T08:09:55 the thing i really like is how well they compose together on one line 2011-11-04T08:10:06 input and output functions that is 2011-11-04T08:10:06 antimatroid: why isnt your name: << OverLord >> ? 2011-11-04T08:10:33 why? 2011-11-04T08:10:45 because you always overload << >> 2011-11-04T08:10:48 :D 2011-11-04T08:10:57 antimatroid: Yeah I guess I have to read up on overloading, like I said, as of yesterday I knew nothing of the language, I've only used Matlab until now 2011-11-04T08:10:59 *** antimatroid is now known as underlord 2011-11-04T08:11:08 :D 2011-11-04T08:11:14 meaningless without the <> :P 2011-11-04T08:11:36 not allowed it :P 2011-11-04T08:11:47 :/ 2011-11-04T08:11:50 conor_f: you dont know, but this underlord guy mentions <<, >> every time c++ is the topic 2011-11-04T08:12:03 mcstar: i love it :P 2011-11-04T08:12:25 :P I've gotten used to it in all of 2 days lol 2011-11-04T08:13:20 i pick up my last exam for the year tomorrow :D 2011-11-04T08:13:36 ah yeah 2011-11-04T08:13:42 i almost forgot what i wanted to say 2011-11-04T08:13:52 hmm, my ants don't like looping for some reason 2011-11-04T08:14:02 as in going from one side of the board to the other 2011-11-04T08:14:08 *** rcmaehl has joined #aichallenge 2011-11-04T08:14:11 O_o 2011-11-04T08:14:12 underlord: i think Ants is a good way to study game tree pathology 2011-11-04T08:14:20 mcstar: ? 2011-11-04T08:14:26 I think it's a good way to learn the STL :P 2011-11-04T08:14:30 what does pathology even mean? :P 2011-11-04T08:14:43 conor_f, remainder 2011-11-04T08:14:52 Is there a way I can spit out debugging type output separate from the output that goes to controlling ants etc? So I can see if I'm reading stuff in correctly etc? 2011-11-04T08:14:57 ? no. I mean all of it :P 2011-11-04T08:15:07 well, it is a situation, when looking more plies ahead actually decreases the quality of your choice, when using minimax 2011-11-04T08:15:26 wtf? how? 2011-11-04T08:15:34 and define plies? 2011-11-04T08:15:36 ...remainder gets you from one side to the other 2011-11-04T08:15:40 a moment 2011-11-04T08:15:51 ah, looking more turns ahead 2011-11-04T08:15:54 that is ply 2011-11-04T08:15:56 a ply 2011-11-04T08:16:03 oh, pairofdice, yeah. I figured I wouldn't have to do that and the distance function would sort it for me 2011-11-04T08:16:05 yeah, i don't expect anyone to be looking past this turn 2011-11-04T08:16:06 but nope 2011-11-04T08:16:12 i expect them to already need to partition ants up lots 2011-11-04T08:16:37 with up to 5 moves per ant that's up to 5^n terminal nodes in your tree 2011-11-04T08:16:39 Dana Nau 2011-11-04T08:16:43 look for him 2011-11-04T08:16:48 has some interesting papers 2011-11-04T08:17:16 i know 2011-11-04T08:18:33 http://www.cs.umd.edu/~nau/publications.html 2011-11-04T08:18:38 This will be very interesting for coding in AutoIt + Python 2011-11-04T08:18:43 wow, the amount of work u and ctrl+R do for me in vim :o 2011-11-04T08:18:46 hell, it was open all along, i just missed it among my many tabs 2011-11-04T08:18:46 thank god 2011-11-04T08:18:49 *** HaraKiri has quit IRC () 2011-11-04T08:19:11 conor_f: me? 2011-11-04T08:19:28 nope, just a proclimation for my love of vim :P 2011-11-04T08:19:35 you said "u" 2011-11-04T08:19:40 u->you 2011-11-04T08:19:46 one of my bad jokes nvm 2011-11-04T08:19:47 u->undo in vim ;) 2011-11-04T08:19:51 i know 2011-11-04T08:19:56 oh, I thought you didn't understand :P 2011-11-04T08:19:57 lol 2011-11-04T08:20:17 *** Xenoamor has joined #aichallenge 2011-11-04T08:20:23 but im an emacs convert 2011-11-04T08:20:24 ahh, I get it now :P poor joke lol 2011-11-04T08:20:34 vim ftw 2011-11-04T08:20:40 The place I'm trying to test my bot at returns "Program too big to fit in memory" any suggestions? 2011-11-04T08:20:49 Can I perhaps send it to a lan server for testing or the likes? 2011-11-04T08:20:52 Get more RAM 2011-11-04T08:20:58 :D 2011-11-04T08:21:22 Yeah it's not my workstation though and I'm here often. Can I set up a server at home and send it to that? 2011-11-04T08:21:22 Xenoamor: write a custom memory swapper 2011-11-04T08:21:38 Xenoamor: make sure you are not in protected mode 2011-11-04T08:21:47 lol all these fancy ideas :P 2011-11-04T08:21:55 USB key? 2011-11-04T08:22:07 you got your codes back conor? 2011-11-04T08:22:13 oh, sorry, I misunderstood >_< nvm me 2011-11-04T08:22:18 Uggg. -_- My script currently. It's using 8GB of RAM 2011-11-04T08:22:23 burny: no :@ but I redid most of it again 2011-11-04T08:22:53 Can I use a memory swapper on Windows? 2011-11-04T08:23:23 darn ant memory, I should probably make what they remember less detailed 2011-11-04T08:24:10 Xenoamor: you will need to path the windows object loader 2011-11-04T08:24:11 *** yoden has joined #aichallenge 2011-11-04T08:24:23 since windows in closed source, good luck with it 2011-11-04T08:24:53 i really recommend you buying a pc built after 1990, and using other than win3.1 2011-11-04T08:24:53 Quick question 2011-11-04T08:25:10 can I make my script required to run inside wine inside linux 2011-11-04T08:25:17 It works better 2011-11-04T08:25:39 need to patch* 2011-11-04T08:26:15 Yeah I'll have words with the technicians at this place, sure they can hook me up with something with more ram 2011-11-04T08:26:17 *** pairofdice has quit IRC (Quit: Just keep breathing) 2011-11-04T08:26:20 Cheers though~ 2011-11-04T08:26:24 *** Xenoamor has quit IRC (Quit: Page closed) 2011-11-04T08:26:30 ahh, I know my problem now, in the real games will the maps be mirrored? 2011-11-04T08:26:49 whats happening is that I need to invert the directions once I pass the top of the board 2011-11-04T08:27:16 the starter bot has a method on state or w/e to do that 2011-11-04T08:27:36 *** replore has joined #aichallenge 2011-11-04T08:28:01 thestinger: it's for the distance 2011-11-04T08:28:06 *it does that for the distance 2011-11-04T08:28:29 the method that takes a location and a direction and gives a new location handles wrapping 2011-11-04T08:29:00 ok 2011-11-04T08:29:24 but my code that picks what direction to move in doesn't, so I need to link them up 2011-11-04T08:29:25 rcmaehl: 8GB of RAM??? Memory leak? xD 2011-11-04T08:29:31 pedrosorio: nope 2011-11-04T08:29:39 it's the ant's memory 2011-11-04T08:29:48 each ant remembers things 2011-11-04T08:30:21 oh *facepalm* 2011-11-04T08:30:23 rcmaehl: you are counting non-committed memory also 2011-11-04T08:30:27 it is not REAL memory 2011-11-04T08:30:49 I should of made it so that when an ant dies it's memory gets erased 2011-11-04T08:30:59 it cant be 8GB 2011-11-04T08:32:35 rcmaehl: if your ants are dying and you are storing their information, it can be considered a kind of memory leak, I guess :P 2011-11-04T08:32:57 rcmaehl: still, you are storing way too much info to get such high levels of memory usage 2011-11-04T08:33:43 or you're storing copies of the same info for each ant 2011-11-04T08:34:38 *** smremde has joined #aichallenge 2011-11-04T08:35:18 *** Mirimaro has joined #aichallenge 2011-11-04T08:36:54 you cant come up 8gb of real memory anyway 2011-11-04T08:36:58 up with* 2011-11-04T08:36:59 So I'm reading in turn info etc in C++ with getline(cin,String) and then writing it out to a txt file to see if I'm capturing things right, however the order in which I'm reading isn't the order it appears in the output from the "BOT iN" button in the visualizer 2011-11-04T08:37:14 yeah basically the ants remember where the hill was, how many ants it has passed, which way the any it passed was going (if possible) 2011-11-04T08:37:20 and a few other things 2011-11-04T08:37:39 still, it is much less than 8gb 2011-11-04T08:37:41 http://aichallenge.org/visualizer.php?game=55174&user=8217 2011-11-04T08:37:53 im nitoicking here, but do you know how much 8gb?? 2011-11-04T08:37:59 nipicking* 2011-11-04T08:38:27 someone mind explaining what happened there? pretty annoyed as it took ages to get a game and then it just ends on turn 1 :/ 2011-11-04T08:38:39 I think your opponents both timed out 2011-11-04T08:38:56 mcstar: 8*1024MB 2011-11-04T08:38:58 doesn't it normally say timeout though? 2011-11-04T08:39:13 and even still, why was I the last survivor? 2011-11-04T08:39:19 rcmaehl: now try to apporximate your memory usage 2011-11-04T08:39:21 *** Sansend has joined #aichallenge 2011-11-04T08:39:27 it will be in the megabytes 2011-11-04T08:39:29 conor_f: it does 2011-11-04T08:39:51 it doesn't show orange b/c it overlaps with the other lines 2011-11-04T08:39:53 oh, my bad. I just saw "lone survivor" at the bottom 2011-11-04T08:40:12 conor_f: little script on the slider upper right corner 2011-11-04T08:40:14 8192 MB 2011-11-04T08:40:15 derp 2011-11-04T08:40:19 yeah 2011-11-04T08:40:22 thanks guys 2011-11-04T08:40:25 I should of known that without math 2011-11-04T08:42:18 *** bergmark has quit IRC (Ping timeout: 256 seconds) 2011-11-04T08:42:51 *** lojgf has joined #aichallenge 2011-11-04T08:43:16 *** zaphus has joined #aichallenge 2011-11-04T08:44:21 *** ProperChaos has joined #aichallenge 2011-11-04T08:45:26 So. many. webchat. users. 2011-11-04T08:47:09 Too. Lazy. To. Start. mIRC. 2011-11-04T08:47:19 pidgin <3 2011-11-04T08:47:29 underlord: birdshit? really? 2011-11-04T08:48:15 *** conor_f has quit IRC (Ping timeout: 258 seconds) 2011-11-04T08:48:29 *** Mirimaro has quit IRC (Quit: Page closed) 2011-11-04T08:48:51 bitlbee also uses libpurple (what pidgin is based on), but you can actually use a nice client as a frontend :P 2011-11-04T08:49:00 *** lojgf has quit IRC (Quit: Page closed) 2011-11-04T08:49:21 mIRC, XChat (for linux), irssi, and a few others are acceptable 2011-11-04T08:49:45 or any IRC client you code yourself 2011-11-04T08:51:16 *** rcmaehl has quit IRC (Quit: Leaving) 2011-11-04T08:51:29 pffffff 2011-11-04T08:51:30 the nub 2011-11-04T08:51:35 never mentioned weechat 2011-11-04T08:51:46 and anyway, whats with the 8GB thing??? 2011-11-04T08:51:46 weechat + bitlbee > * 2011-11-04T08:52:20 i dont think i got though to him 2011-11-04T08:52:24 through* 2011-11-04T08:52:27 Hooray small steps! My bot successfully reads input and can write out what it sees/says to a file for debugging 2011-11-04T08:52:40 userjjb: whats wrong with stderr? 2011-11-04T08:52:56 mcstar: Don't know what that is 2011-11-04T08:53:04 i think its easier than using a file for debugging, since the engine can do that for you anyway 2011-11-04T08:53:21 userjjb: what language are you using? 2011-11-04T08:53:44 C++, I'm a total noob so figured that was the easiest way 2011-11-04T08:54:26 std::cerr << whatever << more crap << std::endl; will write to stderr (instead of stdout, which goes to the engine) 2011-11-04T08:54:29 I take it the engine has some sort of built in funstionality for displaying debug type stuff inside it? 2011-11-04T08:54:38 ah 2011-11-04T08:55:07 *** Antimony has joined #aichallenge 2011-11-04T08:55:10 holy shit Migi32 looks good http://aichallenge.org/visualizer.php?game=56213&user=757 2011-11-04T08:55:12 and you can make the playgame script log your stderr output 2011-11-04T08:56:58 note the difference between "\n" and endl 2011-11-04T08:58:22 yeah I tried using "/n" initially and it actually just put the 2011-11-04T08:58:25 yay, my city is winning :-) 2011-11-04T08:58:37 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-04T08:58:39 "/n" in there 2011-11-04T08:58:43 as a literal string 2011-11-04T08:58:50 \n is a newline, /n isn't an escape code 2011-11-04T08:58:50 was confused why it did that though 2011-11-04T08:59:00 *** conor_f has joined #aichallenge 2011-11-04T08:59:06 lol 2011-11-04T08:59:10 thats not what i meant 2011-11-04T08:59:20 endl flushes the output stream 2011-11-04T08:59:25 you dont need that always 2011-11-04T08:59:25 userjjb: endl makes sure the output is written instantly instead of buffered 2011-11-04T08:59:37 mleise: youre soo slow 2011-11-04T08:59:43 oh, so it sends it right away 2011-11-04T08:59:44 you are soo right 2011-11-04T08:59:49 hi 2011-11-04T09:00:12 sorry, lolcat style: hai 2011-11-04T09:00:15 *** DummySphere has quit IRC (Quit: Page closed) 2011-11-04T09:00:23 can't you just call .flush() anyway? 2011-11-04T09:00:39 Antimony: if you like the verbosity 2011-11-04T09:01:45 Migi32 is using the latest C++. I bet that is why he doesn't timeout with >400 ants 2011-11-04T09:01:55 huh? 2011-11-04T09:02:03 joke? 2011-11-04T09:03:06 no, but this is a joke: http://aichallenge.org/visualizer.php?game=44842&user=7617 2011-11-04T09:03:15 *** ikaros has joined #aichallenge 2011-11-04T09:03:40 that's an old version of the bot, he's probably fixed it now 2011-11-04T09:03:43 isn't that an older version? 2011-11-04T09:03:48 mleise: what is the connection between using the latest c++ and not timing out? 2011-11-04T09:03:49 *** DigitalNinja has quit IRC (Ping timeout: 255 seconds) 2011-11-04T09:04:19 *** zaphus has quit IRC (Quit: Page closed) 2011-11-04T09:04:26 yes, version 6 2011-11-04T09:04:30 now he has 8th 2011-11-04T09:06:17 I'm not used to the slow game rate yet ^^. In PlanetWars there were at least 30 games between versions 2011-11-04T09:06:29 *** dr- has quit IRC (Ping timeout: 240 seconds) 2011-11-04T09:07:18 *** Vivitron has quit IRC (Read error: No route to host) 2011-11-04T09:07:29 pedrosorio: It's just that I think GCC is the best optimizing compiler backend in the competition. 2011-11-04T09:07:58 you're using the same compiler/optimizations with -std=c++0x or not 2011-11-04T09:08:18 I think I misunderstood what you said :P 2011-11-04T09:09:22 thestinger: So why is std::cerr< you have 'using namespace std;' somewhere 2011-11-04T09:09:52 ah 2011-11-04T09:10:03 *** Palmik has joined #aichallenge 2011-11-04T09:10:03 ok so it's kinda like in C# 2011-11-04T09:10:14 namespace::some_in_namespace (same thing in other languages, but with different syntax) 2011-11-04T09:10:30 Gothca, makes snese 2011-11-04T09:10:31 *** Vivitron has joined #aichallenge 2011-11-04T09:10:53 userjjb: http://www.parashift.com/c++-faq-lite/coding-standards.html#faq-27.5 2011-11-04T09:11:30 *** pedrosorio has quit IRC (Quit: Page closed) 2011-11-04T09:11:45 there are functions like std::direction, std::count, etc. in the various headers, so you usually don't want to do it 2011-11-04T09:12:02 thestinger: Yes the compiler options are the same. I was just hyping the latest and greatest version 2011-11-04T09:12:11 I don't know if you know python but it's like doing 'from x import *' instead of 'import x' or 'from math import sqrt' 2011-11-04T09:12:30 a good compiler will warn you about shadowing stuff from headers anyway 2011-11-04T09:13:20 and it won't really matter in a small project 2011-11-04T09:13:37 thestinger: Interesting, thanks for the link. I imagine that the std namespace is pretty big and I'd have run into ambiguities. Regardless seems like a bad habit not to do. 2011-11-04T09:13:47 *** Figz has joined #aichallenge 2011-11-04T09:14:31 *** art has joined #aichallenge 2011-11-04T09:14:54 userjjb: https://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Namespaces here's what the no fun google style guide has to say 'Do not use' it :P 2011-11-04T09:15:30 take that with a grain of salt though, 'using std::cout;' etc. won't give you any problems 2011-11-04T09:16:15 shadowing is not a problem 2011-11-04T09:16:25 inside components will not confused 2011-11-04T09:16:29 not get* 2011-11-04T09:16:38 yeah, they are scoped 2011-11-04T09:17:02 g++/clang++ give you warnings anyway 2011-11-04T09:17:41 *** goants has joined #aichallenge 2011-11-04T09:17:42 so what is the standard c++ extension? 2011-11-04T09:17:45 .cc? 2011-11-04T09:17:52 if .cpp is for c++11 2011-11-04T09:17:58 the standard doesn't say anything about extensions 2011-11-04T09:18:07 standard as in here 2011-11-04T09:18:08 that's just what the compiler.py script on the server for this contest uses to decide 2011-11-04T09:18:18 obviously 2011-11-04T09:18:29 yeah, .cc for whatever g++ does by default 2011-11-04T09:18:31 *** Saulzar has joined #aichallenge 2011-11-04T09:18:37 and .C? 2011-11-04T09:19:41 it detects it based MyBot.extension 2011-11-04T09:19:45 the other files don't matter 2011-11-04T09:19:49 I think it just uses .cc and .cpp 2011-11-04T09:19:57 https://github.com/aichallenge/aichallenge/blob/epsilon/worker/compiler.py#L387 2011-11-04T09:20:12 is there a compile time limit on the server? 2011-11-04T09:20:28 *** lolc has joined #aichallenge 2011-11-04T09:20:30 10min? 2011-11-04T09:20:33 i think 2011-11-04T09:20:37 ah, ok 2011-11-04T09:20:39 fine so 2011-11-04T09:20:41 ty 2011-11-04T09:20:43 dont use complicated templates 2011-11-04T09:21:14 *** bergmark has joined #aichallenge 2011-11-04T09:22:05 10 minutes seems to be enough to compile a lot of code. Sure, GCC or LibreOffice take longer, but I've yet to see an Ant bot that requires a minute to compile. 2011-11-04T09:22:24 Then again I haven't seen many :p 2011-11-04T09:22:33 10 mins is plenty :P 2011-11-04T09:23:04 mleise: it takes only a couple of lines to write a templated logic that solved a combinatoric problem 2011-11-04T09:23:11 solves* 2011-11-04T09:23:41 yeah, the 2MB limit on uploads encourages uses template metaprogramming stuff 2011-11-04T09:23:48 s/uses/using/ 2011-11-04T09:23:59 what the hell are you guys doing?!? 2011-11-04T09:24:18 solving combinatoric problems and uploading data > 2MB 2011-11-04T09:24:24 hehe 2011-11-04T09:24:28 no 2011-11-04T09:24:57 im just saying, you can easily write small c++ programs that take indefinitely long to compile 2011-11-04T09:25:03 I'm not doing anything crazy like that (yet :P) 2011-11-04T09:25:21 *** foRei has joined #aichallenge 2011-11-04T09:25:48 mcstar: That's right. Metaprogramming can easily send a compiler into an endless loop. 2011-11-04T09:26:24 im only using templates for my array class 2011-11-04T09:26:25 Like calculating all the initial paths for all map sizes from 1x1 to 200x200 :D 2011-11-04T09:26:48 creating a multi-gigabyte executable 2011-11-04T09:27:11 well, you can write radius based lookups with it 2011-11-04T09:27:17 that is practical 2011-11-04T09:27:43 Sure, but you can also use the 3 seconds after startup to initialize these. 2011-11-04T09:28:02 I don't know what to do with that time anyway :) 2011-11-04T09:28:03 well, no 2011-11-04T09:28:19 yes 2011-11-04T09:28:24 i mean using templates is not the same as initializing some array with indices 2011-11-04T09:28:45 oh ok. what's better about templates? 2011-11-04T09:28:59 you store that info as CODE, not data 2011-11-04T09:29:09 so it can be faster 2011-11-04T09:29:15 can be cached differently i dont know 2011-11-04T09:29:25 but i can imagine there are upsides 2011-11-04T09:29:39 Now I'm confused. How would the generated code look like? 2011-11-04T09:29:40 you cpu can fetch instructions more efficiently than data i guess 2011-11-04T09:29:41 *** Hexren has joined #aichallenge 2011-11-04T09:29:47 you->the 2011-11-04T09:29:49 lol 2011-11-04T09:30:12 mleise: it would contain the indices explicitely 2011-11-04T09:30:15 hey, anyone using numpy or scipy here ? 2011-11-04T09:30:19 *** dwins has joined #aichallenge 2011-11-04T09:30:22 not read from some array that you initialize at run-time 2011-11-04T09:30:28 Hexren: I was going to use them before I switched to C++ :P 2011-11-04T09:30:41 Hexren: numpy arrays can be allocated/filled really, really quickly 2011-11-04T09:30:51 mcstar: but you still have to select the right template instantiation at runtime 2011-11-04T09:30:58 but you can iterate over than really, really slowly 2011-11-04T09:31:02 tham* 2011-11-04T09:31:04 *** Garf has quit IRC (Quit: Make a new plan, Stan!) 2011-11-04T09:31:06 them* 2011-11-04T09:31:09 list/array.array are much slower to allocate and there isn't a good way to fill them 2011-11-04T09:31:27 well, numpy lets you iterate over stuff quickly 2011-11-04T09:31:32 aichallenge: janzert epsilon * rfb4ac1f / ants/dist/starter_bots/python/ants.py : Use wall time not cpu time in python starter - http://git.io/CbzmPA 2011-11-04T09:31:33 thestinger: how so? 2011-11-04T09:31:35 you don't use a python for loop 2011-11-04T09:31:38 *** Garf has joined #aichallenge 2011-11-04T09:31:42 i was testing it and was slow 2011-11-04T09:31:56 python for loops are slow as hell in cpython 2011-11-04T09:32:00 yep 2011-11-04T09:32:05 pypy is a bit better 2011-11-04T09:32:08 *** lolc has quit IRC (Quit: Page closed) 2011-11-04T09:32:11 but its numpy support is worse 2011-11-04T09:32:24 I think pypy is 5x faster overall, loops are probably way faster in a microbenchmark 2011-11-04T09:32:38 mcstar: Then at runtime you select the lookup function (generated through a template) for - say view_radius2 == 55 - and use it as a function pointer or what? 2011-11-04T09:32:45 thestinger for what did you use numpy ? 2011-11-04T09:33:02 well, I was going to use it to store my 2d distance arrays 2011-11-04T09:33:16 i failed this morning on trying to find any kind of meaniningfull use for it :( 2011-11-04T09:33:21 mcstar: http://docs.scipy.org/doc/numpy/reference/routines.functional.html I think these are a lot faster 2011-11-04T09:33:23 The CPU would not be able to predict the function call properly then, because it is indirect. I don't think that will work well. :) 2011-11-04T09:33:32 mleise: i guess you could initialize an array of function pointers, with different radii, yes 2011-11-04T09:33:56 there are also built-in functions for all the basics, like adding 5 to every element in an array or finding max/min/average etc. 2011-11-04T09:34:26 possibly 2011-11-04T09:34:31 i had to loop though 2011-11-04T09:34:32 maybe I am still sleeping but I do not see how those help me in say pathfinding 2011-11-04T09:34:42 and use little numpy vector operations inside 2011-11-04T09:35:03 yeah, as soon as you use a for loop it's going to be slow :P 2011-11-04T09:35:21 Hexren: if you need explicit indexing, numpy wont help very much, but it will help 2011-11-04T09:36:24 there are lots of ways to get around it like the functional stuff or this stuff http://docs.scipy.org/doc/numpy/reference/routines.indexing.html 2011-11-04T09:37:27 for pathfinding i found c/c++ well suited, cause you have pointers 2011-11-04T09:37:31 imo, it's not worth fighting with the language implementation so I switched to C++ 2011-11-04T09:38:20 I would rather deal with code that's ugly/verbose in comparison but has no performance problems 2011-11-04T09:38:27 *** Garf has quit IRC (Quit: Make a new plan, Stan!) 2011-11-04T09:39:01 *** Garf has joined #aichallenge 2011-11-04T09:39:31 my reason for entering this challenge is: learning python, so switching languages is not really an option right now ;) but in generell yes 2011-11-04T09:40:39 =) 2011-11-04T09:43:20 *** olexs has joined #aichallenge 2011-11-04T09:44:53 ok, greentea climbs back to top, NotABug will be soon back on top too, i think migi32 will be in top10 too. i wonder how situation will change at the end of november 2011-11-04T09:46:20 maybe i should work on my bot some more... but if only someone could explain how the fuck people apply minimax to large amount of ants so it actually works and doesn't need too much cpu power 2011-11-04T09:46:33 *** TheLinker has joined #aichallenge 2011-11-04T09:49:19 in the process 2011-11-04T09:49:22 perhaps they dont use minmax Fluxid 2011-11-04T09:49:38 lets call it max 2011-11-04T09:49:48 ikaros: then what. everyone talks about minimax 2011-11-04T09:49:55 since its not a 2 player algorithm anymore 2011-11-04T09:50:00 mom phone 2011-11-04T09:50:07 moment 2011-11-04T09:50:14 say hi to your mom 2011-11-04T09:50:26 mom=moment 2011-11-04T09:50:27 =) 2011-11-04T09:50:36 should have said sec probably 2011-11-04T09:50:59 Fluxid, there are other options like probabilistic algorithms 2011-11-04T09:51:45 *** goants has quit IRC (Quit: Leaving.) 2011-11-04T09:52:09 i want to know, sometimes it blows my mind how top bots' ants move around enemy :( 2011-11-04T09:53:54 i guess you spend much time watching you tcp replays? 2011-11-04T09:53:59 r* 2011-11-04T09:54:03 when i finally get my system back working i will try to extend my dumb bot with some combat tactics too.. i have so many ideas but no time to implement 2011-11-04T09:54:07 *** mceier has joined #aichallenge 2011-11-04T09:54:08 is mahattan distance or euclidean distance used for attack radius? 2011-11-04T09:54:22 smremde: yes 2011-11-04T09:54:42 :) manhattan or euclidean distance? 2011-11-04T09:54:54 euclidean 2011-11-04T09:55:03 haha 2011-11-04T09:55:11 thanks 2011-11-04T09:55:39 thats like the "do you like chocolate or ice cream?" to a child :) 2011-11-04T09:55:48 most will say yes :) 2011-11-04T09:56:45 yes! 2011-11-04T09:59:07 wow, it's 2C outside and my room heated up to 27C from all the ants >.< 2011-11-04T09:59:16 time to open some windows... 2011-11-04T09:59:19 =))) 2011-11-04T09:59:47 i have a tip 2011-11-04T10:00:03 theres a 0.01 sec delay in engine.py 2011-11-04T10:00:15 if you disable that, you can test locally much faster 2011-11-04T10:00:25 *** amstan_ has joined #aichallenge 2011-11-04T10:00:31 *** ChanServ sets mode: +o amstan_ 2011-11-04T10:00:34 mcstar: :D 2011-11-04T10:01:48 *** AxVapor has quit IRC (Quit: AxVapor) 2011-11-04T10:08:36 *** goants has joined #aichallenge 2011-11-04T10:08:41 line 350 in engine.py 2011-11-04T10:08:49 it really feels faster 2011-11-04T10:10:04 someone should convert engine.py to use blocking reads from the sandbox 2011-11-04T10:10:06 over 1000 turns that would be 100 seconds - almost 2 minutes 2011-11-04T10:10:35 I added the capability to the sandbox some time ago for it 2011-11-04T10:10:50 dwins: ? 2011-11-04T10:11:28 anyway, why its good to disable it, is that you can "feel" how fast is your bot 2011-11-04T10:11:28 am i misinterpreting what you said? i didn't actually look at the script 2011-11-04T10:11:36 dwins: 10, not 100 2011-11-04T10:11:44 1000*0.01=10 2011-11-04T10:11:46 dwins: you're off by a decimal point 2011-11-04T10:11:59 oh just missed a zero 2011-11-04T10:12:45 and if your bot takes a randomish amount of time longer than 0.01 seconds the average increased time will be half that 2011-11-04T10:16:41 janzert: sometimes i experienced that if i ^c the engine, it will hang, and i cant kill it unless i kill the terminal 2011-11-04T10:17:24 I have a vector of s and I need to pass values to its constructer when it's pushed_back 2011-11-04T10:17:33 try multiple ^c ;) 2011-11-04T10:17:43 pkill -9 python xD 2011-11-04T10:18:05 probably it's one of the IO threads in the nonsecure sandbox gets stuck 2011-11-04T10:18:08 janzert: doesnt work, thats what im telling 2011-11-04T10:18:51 doesnt really matter, just let you know 2011-11-04T10:19:02 Ant::Ant(Location, State&) 2011-11-04T10:19:24 thestinger: i dont want to kill ranger 2011-11-04T10:19:28 state.myAnts.push_back(Location(row, col), state); 2011-11-04T10:19:33 produces an error 2011-11-04T10:20:01 mcstar: do you use arch? 2011-11-04T10:20:10 arch x86_64 2011-11-04T10:20:18 I think ranger is py3 so you can probably pkill python2 2011-11-04T10:20:21 *** tmandry has joined #aichallenge 2011-11-04T10:20:31 *** tmandry has joined #aichallenge 2011-11-04T10:20:31 and explicitly run the engine as py2 if it's not :P 2011-11-04T10:20:34 btw i use arch :D 2011-11-04T10:20:44 it s py3 2011-11-04T10:20:48 yeah, I use arch too 2011-11-04T10:21:06 i always correct its shabng to python3 2011-11-04T10:21:10 after its updated 2011-11-04T10:21:15 shebang* 2011-11-04T10:21:28 any ideas guys? 2011-11-04T10:21:28 you see, i linked python to python2 2011-11-04T10:22:12 ah 2011-11-04T10:22:16 thestinger: i have a conjecture: only archers know ranger 2011-11-04T10:22:27 *** grandiose has joined #aichallenge 2011-11-04T10:22:30 yeah, that's why I made that guess 2011-11-04T10:22:31 *** treeform has joined #aichallenge 2011-11-04T10:22:47 btw, i didnt come across it on the arch forums 2011-11-04T10:23:03 i was hunting for a miller column based fm, when i found it 2011-11-04T10:23:12 I found it doing something like 'cower -s vim' 2011-11-04T10:23:19 I don't really use it though anymore 2011-11-04T10:23:49 cower ~ yaourt? 2011-11-04T10:24:43 yeah, it's a very fast multithreaded AUR search/query/download program basically 2011-11-04T10:25:02 i have a "yo" alias for yaourt 2011-11-04T10:25:11 it can actually autocomplete stuff like 'cower -ii fire' 2011-11-04T10:25:15 but i guess "cow" is funny as well 2011-11-04T10:25:29 in bash? 2011-11-04T10:25:32 or zsh? 2011-11-04T10:25:38 zsh 2011-11-04T10:25:50 i wont switch 2011-11-04T10:25:54 :D 2011-11-04T10:26:22 zsh is why I don't use ranger anymore :P 2011-11-04T10:26:37 oh 2011-11-04T10:27:13 < mcstar> theres a 0.01 sec delay in engine.py ← i had sleep in stdin reader in my bot 2011-11-04T10:27:29 and I wonder why it takes so long each turn 2011-11-04T10:27:35 wondered* 2011-11-04T10:27:38 :| 2011-11-04T10:27:44 *** conor_f has quit IRC (Quit: Reconnecting) 2011-11-04T10:27:56 *** conor_f has joined #aichallenge 2011-11-04T10:28:20 any help with that vector/class constructer problem? 2011-11-04T10:28:57 Fluxid: your defense is pretty neat - do you just do something like allocating a certain number of ants per hill and then having them repel each other? 2011-11-04T10:29:23 I'm thinking about doing something like that instead of the crappy static defense I tried 2011-11-04T10:29:24 Fluxid: i glad i helped if i did 2011-11-04T10:29:27 im* 2011-11-04T10:29:42 conor what's your problem? 2011-11-04T10:29:51 and have you read cplusplus.com? 2011-11-04T10:29:56 yeah 2011-11-04T10:29:57 mcstar: no, i detected it long time ago ;) 2011-11-04T10:30:06 oh 2011-11-04T10:30:13 but it would be helpful if i still had sleep 2011-11-04T10:30:17 *** grandiose has quit IRC (Read error: Connection reset by peer) 2011-11-04T10:30:21 *** grandiose1 has joined #aichallenge 2011-11-04T10:30:31 my defence is also very crappy 2011-11-04T10:30:31 thestinger: i alocate four ants to not go far from hill 2011-11-04T10:30:31 i need several hours each day, theres no shame in it 2011-11-04T10:30:32 I have a vector of type Ant class 2011-11-04T10:30:42 it just creates a 3x3 or 5x5 square around the mound 2011-11-04T10:30:46 and it's constructer needs 2 args 2011-11-04T10:30:46 but it doens't work in practice 2011-11-04T10:30:52 and they just wander around in radius = 1 2011-11-04T10:31:15 but I can't pass them to the constructer when myAnts.push_back is called 2011-11-04T10:31:16 but have food-gathering and battle logic similar to other ants 2011-11-04T10:31:16 *** Rinum has joined #aichallenge 2011-11-04T10:31:24 so they actuall do something 2011-11-04T10:31:28 ? 2011-11-04T10:31:39 you should be passing an Ant to push_Back 2011-11-04T10:31:39 conor_f: what is the error? 2011-11-04T10:32:02 vector.push_back 2011-11-04T10:32:15 push_back(Ant(Location(row, col), state)) 2011-11-04T10:32:21 yeah 2011-11-04T10:32:26 what is state? 2011-11-04T10:32:32 State class instance 2011-11-04T10:32:34 it's a State struct 2011-11-04T10:32:51 oh, the ant class has a state member 2011-11-04T10:32:53 conor_f: you didn write what i did 2011-11-04T10:32:56 no 2011-11-04T10:32:58 MyBot.cpp:476:70: error: no matching function for call to ‘std::vector::push_back(Location, State*)’ 2011-11-04T10:33:05 oh 2011-11-04T10:33:05 push_back(Location, State*)’ 2011-11-04T10:33:06 sorry 2011-11-04T10:33:06 vs 2011-11-04T10:33:07 You need to pass it an Ant 2011-11-04T10:33:09 I didn't 2011-11-04T10:33:10 not the ctor args 2011-11-04T10:33:14 push_back(Ant(Location(row, col), state)) 2011-11-04T10:33:34 ok, tyvm :) 2011-11-04T10:33:54 *** NotABug has quit IRC (Quit: Page closed) 2011-11-04T10:33:54 http://www.cplusplus.com/reference/stl/vector/push_back/ 2011-11-04T10:34:10 Antimony: he just left out the contruction of an ant object 2011-11-04T10:34:13 it's a good source if you have questions about stl 2011-11-04T10:34:18 yeah 2011-11-04T10:34:18 yea mcstar 2011-11-04T10:34:25 Antimony: it's been open since the start :P 2011-11-04T10:34:31 oh 2011-11-04T10:34:33 mcstar: thanks, worked perfectly :) 2011-11-04T10:34:43 you need to assign a variable like: vector my_ants = vector(); 2011-11-04T10:34:44 so you know you have to pass a T 2011-11-04T10:34:56 *** Rinum has quit IRC (Client Quit) 2011-11-04T10:35:05 or a t 2011-11-04T10:35:07 p.s., why the heck do you have a State* 2011-11-04T10:35:22 he did it right the first time 2011-11-04T10:35:24 beginners shouldn't be using raw pointers 2011-11-04T10:35:26 only passed state 2011-11-04T10:35:35 sorry, it's a state& 2011-11-04T10:35:45 oh 2011-11-04T10:35:49 that's ok then 2011-11-04T10:36:44 Antimony: i think its better to know what pointers are, references are not as capable as pointers 2011-11-04T10:37:08 i would be annoyed without them, and poor c++ newbie wouldnt even know about them 2011-11-04T10:37:17 of them* 2011-11-04T10:37:33 do you consider it something "advanced"? 2011-11-04T10:38:57 *** twymer has joined #aichallenge 2011-11-04T10:41:08 *** cherio has quit IRC (Quit: Page closed) 2011-11-04T10:42:15 i dont have to capacity to trigger great conversations :( 2011-11-04T10:42:20 the* 2011-11-04T10:42:27 it's not advanced, just easy to mess up 2011-11-04T10:42:32 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-04T10:43:32 and if you want pointer functionality, you're in most cases better off with a smart pointer 2011-11-04T10:43:33 I think it's important that noobs(me) know about them so they can solve some errors and have some idea of what the compilers complaining about. they're not that advanced, just error-prone IMO 2011-11-04T10:43:59 yeah 2011-11-04T10:44:06 yeah, well, i wish you few bugs 2011-11-04T10:44:28 ? I've had my fair share. what I ask in here isn't a tenth of what I get 2011-11-04T10:44:50 well good luck 2011-11-04T10:45:04 the best way to learn is to try to code things and look it up when you get stuck or have an error 2011-11-04T10:45:14 and ask for help if you can't figure it out 2011-11-04T10:45:37 have you been to GameDev.net? 2011-11-04T10:45:37 *** NefariousZhen has quit IRC (Ping timeout: 265 seconds) 2011-11-04T10:45:43 Antimony: yeah 2011-11-04T10:46:06 *** adaf13 has quit IRC (Ping timeout: 265 seconds) 2011-11-04T10:46:31 very useless imho 2011-11-04T10:46:35 *** absc41 has quit IRC (Ping timeout: 265 seconds) 2011-11-04T10:47:24 im ready for my first c++ upload 2011-11-04T10:47:33 they've only got forums, no articles/tutorials 2011-11-04T10:47:36 gl mcstar :) 2011-11-04T10:47:41 :) 2011-11-04T10:48:50 it compiled 2011-11-04T10:48:52 nice 2011-11-04T10:50:22 *** Antimony has quit IRC (Ping timeout: 256 seconds) 2011-11-04T10:51:10 he really needs a proper IRC client... 2011-11-04T10:52:09 probably he just hibernated or entered standby 2011-11-04T10:52:21 hey, i want to be clear on something before i upload 2011-11-04T10:52:21 conor_f: hey 2011-11-04T10:52:25 that happens like every 30mins/1hour 2011-11-04T10:52:27 hey amstan_ 2011-11-04T10:52:33 conor_f: got my email? 2011-11-04T10:52:35 I got that email 2011-11-04T10:52:36 yeah 2011-11-04T10:52:49 tyvm 2011-11-04T10:52:52 *** dvladim has joined #aichallenge 2011-11-04T10:53:11 im in trouble 2011-11-04T10:53:18 conor_f: you sounded like you were quitting yesterday 2011-11-04T10:53:23 unfortounately, I hadn't uploaded that code to the server yet, so I had to start from scratch again :/ 2011-11-04T10:53:35 amstan_: I'll try hold out for a bit longer :P 2011-11-04T10:53:54 I'm back where I was yesterday now before I rm'd my code 2011-11-04T10:54:24 ++amstan_, really nice :) 2011-11-04T10:55:27 rm *.ext vs. rm * .ext 2011-11-04T10:55:35 *** ikaros has joined #aichallenge 2011-11-04T10:56:00 amstan_: hai 2011-11-04T10:56:09 *** amstan_ is now known as amstan 2011-11-04T10:56:13 can i have multiple cpp source files? 2011-11-04T10:56:25 i don't see why not 2011-11-04T10:56:28 mcstar: yeah 2011-11-04T10:56:36 i just dont get this 2011-11-04T10:56:53 i mean obviously the compiler.py cant figure out my makefile structure 2011-11-04T10:56:59 and it doesnt use makefiles 2011-11-04T10:57:01 the server compiles all the .cc/.cpp files into .o files and links them together 2011-11-04T10:57:09 it doesn't use uploaded makefiles 2011-11-04T10:57:25 k 2011-11-04T10:57:29 mcstar: compiler just does g++ all.cpp your.cpp sources.cc -o MyBot 2011-11-04T10:57:47 in one step 2011-11-04T10:57:49 k 2011-11-04T10:58:00 *** Antimony has joined #aichallenge 2011-11-04T10:59:28 so basically, theres no point in "call your main source MyBot.ext"? 2011-11-04T10:59:34 for c/cpp that is 2011-11-04T10:59:51 it will compile with any file.cc right? 2011-11-04T11:00:49 I think it will look for MyBot.ext to detect which language is used 2011-11-04T11:01:06 yeah, right 2011-11-04T11:01:17 *** tmandry has quit IRC (Ping timeout: 240 seconds) 2011-11-04T11:02:46 mcstar: as long as you have a MyBot.cc, you can put your main function anywhere 2011-11-04T11:05:19 *** Relax has joined #aichallenge 2011-11-04T11:07:44 *** Antimony_ has joined #aichallenge 2011-11-04T11:07:50 you should name it MyBot.cpp if you want c++0x support though 2011-11-04T11:08:25 um, why are both Antimony and Antimony_ on the users list? 2011-11-04T11:08:30 Did I get on there twice somehow? 2011-11-04T11:08:39 yes 2011-11-04T11:09:04 *** Antimony has quit IRC (Ping timeout: 256 seconds) 2011-11-04T11:09:07 *** Antimony_ is now known as Antimony 2011-11-04T11:17:27 hmm 2011-11-04T11:17:40 all my bots are getting the same dest_location 2011-11-04T11:17:43 strange... 2011-11-04T11:18:31 *** JorgeB has quit IRC (Ping timeout: 252 seconds) 2011-11-04T11:20:15 *** xgetc25 has joined #aichallenge 2011-11-04T11:20:19 hi hi 2011-11-04T11:20:49 who writes bots in ruby? 2011-11-04T11:21:00 *** nikozc has joined #aichallenge 2011-11-04T11:21:34 so , what about game timeout? its so annoing - why its implemented - my bot always crush on it ( 2011-11-04T11:22:16 *** goants has quit IRC (Quit: Leaving.) 2011-11-04T11:22:20 and bots in c++ can use more AI logic 2011-11-04T11:22:24 you need to check the timer periodically 2011-11-04T11:22:30 oh 2011-11-04T11:22:32 and stop when you have about 30ms left 2011-11-04T11:22:37 *** nikozc has quit IRC (Client Quit) 2011-11-04T11:22:54 hmm timer - where can i read about it? 2011-11-04T11:23:05 there should be one in the starter bot 2011-11-04T11:23:09 cause ruby startup kit is so noob 2011-11-04T11:23:14 oh 2011-11-04T11:23:22 sorry I don't know Ruby 2011-11-04T11:23:31 there are no hills marks in it 2011-11-04T11:23:51 but as far as i know you just stdout commands 2011-11-04T11:24:07 how do you check timer? 2011-11-04T11:24:14 in what lang 2011-11-04T11:24:24 i will adapt you techincs ) 2011-11-04T11:24:57 but neveless - timeout make me sad - i cant use complex logic 2011-11-04T11:25:06 any advices? 2011-11-04T11:25:11 xgetc25: check the time at the start of the turn and then make sure you finish your processing and send the information back to the engine before turntime is up 2011-11-04T11:25:21 that's all it is 2011-11-04T11:25:27 how i check turn time? 2011-11-04T11:25:35 look up ruby timer 2011-11-04T11:25:42 there's surely something 2011-11-04T11:25:56 *** ProperChaos has quit IRC (Quit: Page closed) 2011-11-04T11:26:08 so 1 bot have about 1 sec to make turn? 2011-11-04T11:26:10 turn time as in the length of the turn is given to the bot before the first turn as the turntime parameter 2011-11-04T11:26:20 500ms on the contest servers 2011-11-04T11:26:22 but c++ is much faster due complinig 2011-11-04T11:26:34 compiling 2011-11-04T11:26:35 you're free to use c++ if you want 2011-11-04T11:26:49 sure 2011-11-04T11:26:53 but i want ruby 2011-11-04T11:27:02 just want more timeout 2011-11-04T11:27:07 then you'll need to deal with the limitations of ruby too 2011-11-04T11:27:17 as well as the advantages 2011-11-04T11:27:22 I use C++ and I want more as well :P 2011-11-04T11:27:28 never enough time 2011-11-04T11:27:29 even A start search for 20 squares timeouts it ( 2011-11-04T11:27:35 yep 2011-11-04T11:27:39 meh 2011-11-04T11:28:09 I'd love to increase the time limit too ;) 2011-11-04T11:28:14 *** delt0r__ has quit IRC (Read error: Operation timed out) 2011-11-04T11:28:18 500 ms but it depends on hardware? 2011-11-04T11:28:23 well, it wouldn't be a challenge 2011-11-04T11:28:30 if you can A* everything 2011-11-04T11:28:35 )) 2011-11-04T11:29:52 I'm doing that right now, I run out of processing time at about 500 ants :( 2011-11-04T11:30:22 anyone have bots in ruby? just to may be collaborate ) 2011-11-04T11:30:25 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-04T11:30:28 *** gr_wip has joined #aichallenge 2011-11-04T11:30:45 me spend 1 week for just walking and eating but this timeout 2011-11-04T11:30:54 ruins all 2011-11-04T11:31:05 maybe optimize your code a bit 2011-11-04T11:31:25 yep sure will simplyfy it to ameba logic ( 2011-11-04T11:31:49 you can also have some timer to stop all computations when you have just x ms left 2011-11-04T11:31:50 but interest is gone ( since same algoriths will work in c much fasater 2011-11-04T11:31:57 *** Antimony has joined #aichallenge 2011-11-04T11:32:02 *** JorgeB has joined #aichallenge 2011-11-04T11:32:04 thx all 2011-11-04T11:32:11 bye :) 2011-11-04T11:32:18 timer solution will fix i think timeout 2011-11-04T11:32:31 *** axvtyk has joined #aichallenge 2011-11-04T11:32:53 but optimizing code stays the main objective I think, timer is just a work around 2011-11-04T11:32:58 xgetc25: i can do 12000 dijkstra searches in c++ on a maze map for 60 step length to the target in 1 sec 2011-11-04T11:34:06 *** marijnfs has joined #aichallenge 2011-11-04T11:34:11 true that :) 2011-11-04T11:34:25 but in depends on CPU ? 500 ms 2011-11-04T11:34:31 but in debug mode 2011-11-04T11:34:32 a lot less 2011-11-04T11:34:37 but I'm debugging a lot :P 2011-11-04T11:34:50 of course it is debugged code, with -O3 2011-11-04T11:34:56 i write log in file 2011-11-04T11:35:02 i think its wastes 2011-11-04T11:35:03 what im saying, that many can be dobne 2011-11-04T11:35:05 done* 2011-11-04T11:35:24 for you guys to have a standard, what the machine is usually capable of 2011-11-04T11:35:28 *** clckwrk has joined #aichallenge 2011-11-04T11:35:35 it run on an old amd x2 2011-11-04T11:35:47 upload some code to server and see :P 2011-11-04T11:35:48 *** Figz has left #aichallenge 2011-11-04T11:35:49 hmm i run mac mini old 2011-11-04T11:36:30 i dunno how fast it is, but I think smart AI shouldn't take a lot of time ;) 2011-11-04T11:36:31 consider, that your viewradius is below 15 steps 2011-11-04T11:36:46 mlmnl: smart ai will take all the time it can 2011-11-04T11:36:48 yep already done it ( 2011-11-04T11:36:57 because game tree searches take forever 2011-11-04T11:37:02 I do game development study 2011-11-04T11:37:07 every cycle you don't spend on AI 2011-11-04T11:37:13 you can spend on graphics or physics 2011-11-04T11:37:19 lol 2011-11-04T11:37:23 it's true 2011-11-04T11:37:29 just increase the number of steps you look ahead 2011-11-04T11:37:40 and you wont have time for "graphics" or "physics" 2011-11-04T11:37:51 yeah 2011-11-04T11:37:54 that's bad :) 2011-11-04T11:38:01 if you have some iterative algorithm you can just keep watching the time and stop just before the end 2011-11-04T11:38:07 graphics and nice effect sell games 2011-11-04T11:38:26 but nowadays better ai's matter more than before 2011-11-04T11:38:41 its easier to make a good looking stupid game than ever before 2011-11-04T11:39:20 that true 2011-11-04T11:39:23 *** amstan has quit IRC (Ping timeout: 276 seconds) 2011-11-04T11:39:25 anyeay, in ants all those things dont matter 2011-11-04T11:39:27 w* 2011-11-04T11:39:49 mlmnl: but, you could make a 3d game out of it after the contest :D 2011-11-04T11:39:58 I won't 2011-11-04T11:40:01 but my point is 2011-11-04T11:40:08 *** clckwrk has quit IRC (Client Quit) 2011-11-04T11:40:14 you can do decent AI in a lot less time then 500ms 2011-11-04T11:40:43 well, depends what is "decent" 2011-11-04T11:40:47 *** conor_f has quit IRC (Ping timeout: 260 seconds) 2011-11-04T11:41:15 for real games, "decent" is usually, makes game fun to play (ie, doesn't look too stupid) 2011-11-04T11:41:22 with close to perfect bots, time efficience can be the key to victory 2011-11-04T11:41:31 *** nmalbran has joined #aichallenge 2011-11-04T11:41:35 mlmnl: thats not the case with Ants 2011-11-04T11:41:59 i'm not saying it is 2011-11-04T11:42:02 k 2011-11-04T11:42:27 bleh, python just eat my whole processor 2011-11-04T11:42:38 kill the snake 2011-11-04T11:42:48 ) 2011-11-04T11:42:49 you can still save your cpu 2011-11-04T11:42:53 already killed 2011-11-04T11:43:15 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-04T11:43:26 mlmnl: so, how easy do you find this game? 2011-11-04T11:43:35 just in case - any have bot in Ruby? 2011-11-04T11:43:35 since you said youre developing games 2011-11-04T11:43:48 it's hard 2011-11-04T11:43:49 sort of 2011-11-04T11:43:49 *** delt0r__ has joined #aichallenge 2011-11-04T11:43:52 *** Antimony has joined #aichallenge 2011-11-04T11:43:56 for AI anyway 2011-11-04T11:44:13 are you beyond pathfinding, influence mapping? 2011-11-04T11:44:23 big chal;lenge isn't path finding here 2011-11-04T11:44:33 no, its a must have 2011-11-04T11:44:34 *** datachomper has joined #aichallenge 2011-11-04T11:44:39 its about identifying defensible chokes 2011-11-04T11:44:45 etc 2011-11-04T11:45:06 about 5 ants can block infinitely given the right chokes 2011-11-04T11:45:06 yep, thats good, you have to "figure out the map" 2011-11-04T11:45:31 *** Mooloo has joined #aichallenge 2011-11-04T11:45:32 mlmnl: a simple way to get your ants to move around so you can think about how they are going to fight: http://benjamin-meyer.blogspot.com/2011/11/using-collaborative-diffusion-rather.html 2011-11-04T11:45:32 but you have to have game trees too 2011-11-04T11:45:50 *** conor_f has joined #aichallenge 2011-11-04T11:45:51 I looked at coll.diffusion 2011-11-04T11:46:01 *** Baus has quit IRC (Read error: Operation timed out) 2011-11-04T11:46:17 it's not bad 2011-11-04T11:46:19 icefox: that is influence mapping 2011-11-04T11:46:27 its 30 years old 2011-11-04T11:46:29 but it doesn't "automatically" solve the big issues 2011-11-04T11:46:31 or more 2011-11-04T11:46:38 like map analysis etc 2011-11-04T11:46:57 better than doing 12000 dijkstra searches :) 2011-11-04T11:46:57 its a very easy way of distributing your ants 2011-11-04T11:47:10 there are better options 2011-11-04T11:47:19 there are many options 2011-11-04T11:47:21 for example combine disjkstra with perfect matching 2011-11-04T11:47:27 -s 2011-11-04T11:47:38 btw, why dijsktra instead of A* 2011-11-04T11:47:48 A* has the same results but quicker 2011-11-04T11:47:54 because i can search for a condition, not a specific end location 2011-11-04T11:48:09 well, I do have some of that in A* :) 2011-11-04T11:48:18 i did that too 2011-11-04T11:48:24 like "within range of" can be doen in A* 2011-11-04T11:48:28 probably i will do both for different things 2011-11-04T11:48:37 or "until finding undiscovered area" 2011-11-04T11:49:06 for a* you have to have a heuristic, which is the manhattan distance to an end location for example 2011-11-04T11:49:18 for 4-move grid 2011-11-04T11:49:20 if you have multiple targets, i dont see how that works 2011-11-04T11:49:22 manhattan is excellent 2011-11-04T11:49:37 nah, don't think you can do multi-target 2011-11-04T11:49:44 on ants.fluxid.pl what does the number after your name mean? 2011-11-04T11:50:01 mlmnl: you see, that why i say for specific things dijkstar is better 2011-11-04T11:50:06 at least its good enough 2011-11-04T11:50:18 you have to distribute ants over targets, then A* 2011-11-04T11:50:26 so prioritize before search 2011-11-04T11:50:32 but on what basis? 2011-11-04T11:50:41 well, that is AI :P 2011-11-04T11:50:44 first you have to pathfind, to get proper pat lenghts 2011-11-04T11:50:47 mlmnl: if the chokepoint is 3 tiles wide it should be possible to break through by sacrificing some ants 2011-11-04T11:50:50 path* 2011-11-04T11:51:06 of course you need an ai aggressive enough to actually sacrifice ants to break a position.. 2011-11-04T11:51:10 icefox can u provide some url to read about diffusion 2011-11-04T11:51:24 u article is too complicated for me ) 2011-11-04T11:51:24 than, you can use the hungarian algorith to make a perfect matching of ants to foods 2011-11-04T11:51:29 but i think i will go that way 2011-11-04T11:51:39 Minthos: at huge losses maybe 2011-11-04T11:51:46 just cause this timeout ( 2011-11-04T11:51:57 but it's more about setting up an arc of defense then a wall :P 2011-11-04T11:52:05 xgetc25: checkout the paper I link to in the blog 2011-11-04T11:52:06 xgetc25: just make a 2d array, put the ants there, and iterate a couple of times averaging every tile with its neigbors 2011-11-04T11:52:45 *** goants has joined #aichallenge 2011-11-04T11:52:53 silly finite difference heat diffusion 2011-11-04T11:52:56 what do you guys use for fighting 2011-11-04T11:53:13 diffusion/influence mapping is OK for foos finding etc 2011-11-04T11:53:15 i guess the good ones game trees 2011-11-04T11:53:26 I don't see it work for combat very well 2011-11-04T11:53:37 icefox: i read the whole paper and your post... but dont undertand yet how to diffuse all the values... 2011-11-04T11:53:45 mlmnl: you can use it to stay away form the enemy other than that, its useless 2011-11-04T11:53:53 the attackradius is too sharp for that 2011-11-04T11:54:06 yeah well, stayign away can be doen using pathfinding as well 2011-11-04T11:54:23 just make higher cost travel near enemy 2011-11-04T11:54:25 do you diffuse 1 tile per turn? 2011-11-04T11:54:52 nmalbran: imagine it as an averaging process 2011-11-04T11:54:56 and pathfinding will avoid enemies 2011-11-04T11:55:01 *** skunx has joined #aichallenge 2011-11-04T11:55:16 in A* you can have dynamic g function for that 2011-11-04T11:55:25 not sayign it's best 2011-11-04T11:55:28 but it'll work 2011-11-04T11:55:31 sure 2011-11-04T11:55:48 but i wouldnt use influence mapping for food-finding 2011-11-04T11:55:51 thats for sure 2011-11-04T11:56:35 i was thinking of going through all goals (food, unvisited tiles, ..) and do something like BFS to spread out the scent of goals all over aroud... 2011-11-04T11:56:41 *** Hexren has quit IRC (Quit: Leaving.) 2011-11-04T11:56:43 and really, what inf. mapping is good at: extremely simple algorith for making your ants move like it has some "purpose" 2011-11-04T11:56:50 *** UncleVasya has joined #aichallenge 2011-11-04T11:56:58 what is best for exploing? 2011-11-04T11:57:06 diffusion? 2011-11-04T11:57:17 exploding or exploring? 2011-11-04T11:57:18 for exploring I think diffusion is pretty good 2011-11-04T11:57:25 any algo without pathfinding plz 2011-11-04T11:57:29 :) 2011-11-04T11:57:42 you are lowering the bar pretty low 2011-11-04T11:57:43 *** cyphase has quit IRC (Quit: http://www.cyphase.com/) 2011-11-04T11:57:52 sonner or later you gonna need it 2011-11-04T11:57:56 *** praveen has joined #aichallenge 2011-11-04T11:58:22 only for exploring 2011-11-04T11:58:24 hi 2011-11-04T11:58:32 like marking sectors spots etc 2011-11-04T11:58:55 *** Antimony_ has joined #aichallenge 2011-11-04T11:59:26 mcstar: hi. Did you already upload something? 2011-11-04T11:59:26 i think coll difussion is nice for exploring (although i havent test it yet.... 2011-11-04T11:59:43 UncleVasya: i uploaded right away "something" 2011-11-04T12:00:14 *** treeform has quit IRC (Quit: Leaving.) 2011-11-04T12:00:26 but i uploaded my first c++ bot an hour ago 2011-11-04T12:00:44 how far it is from starterpack? 2011-11-04T12:00:47 *** Antimony has quit IRC (Ping timeout: 248 seconds) 2011-11-04T12:00:49 *** Antimony_ is now known as Antimony 2011-11-04T12:00:50 very far 2011-11-04T12:01:07 and it will take only an hour for it to play a bloody game :D 2011-11-04T12:01:31 http://aichallenge.org/profile.php?user=12 2011-11-04T12:01:34 I hope I will not be your first victim :) 2011-11-04T12:01:42 user 12, bleh, they were faster than me 2011-11-04T12:01:54 you will not be 2011-11-04T12:01:56 53 :( 2011-11-04T12:02:52 Lisp was very difficult? :P 2011-11-04T12:03:14 *** aerique has quit IRC (Quit: ...) 2011-11-04T12:05:01 no 2011-11-04T12:05:06 ehe, at least you know for sure that first 7-10 games you will win. 2011-11-04T12:05:14 *** grandiose1 has quit IRC (Quit: Leaving.) 2011-11-04T12:05:15 but i think i will earn money with c++ 2011-11-04T12:05:18 *** roflmao has joined #aichallenge 2011-11-04T12:05:31 why do i know that? 2011-11-04T12:05:55 Do you wanna sale your bot's sources right before submissions deadline? :) 2011-11-04T12:06:01 :D 2011-11-04T12:06:05 i didnt mean it like that 2011-11-04T12:06:10 *** Antimony_ has joined #aichallenge 2011-11-04T12:06:16 but i will try to find a c++ job soon 2011-11-04T12:06:36 *** tobiassjosten has quit IRC (Ping timeout: 244 seconds) 2011-11-04T12:06:38 *** Jciec has joined #aichallenge 2011-11-04T12:06:40 im considering nokia-siemens, ericsson, or another firm 2011-11-04T12:06:52 *** dvladim has quit IRC (Ping timeout: 256 seconds) 2011-11-04T12:07:00 You know it because it will be a long way from the last pages to the first ones. 2011-11-04T12:07:18 *** Sansend has quit IRC (Ping timeout: 265 seconds) 2011-11-04T12:07:22 *** tobiassjosten has joined #aichallenge 2011-11-04T12:07:37 you mean there are a shitload of stupid bots? 2011-11-04T12:07:53 exactly 2011-11-04T12:07:58 *** Antimony has quit IRC (Ping timeout: 258 seconds) 2011-11-04T12:08:04 *** Antimony_ is now known as Antimony 2011-11-04T12:08:10 Quick question, is the bot run each step of a game or can it keep state between each step? 2011-11-04T12:08:20 Jciec: thats the point 2011-11-04T12:08:40 To keep state? 2011-11-04T12:08:45 i think for grand startegies you need to keep some state 2011-11-04T12:08:52 you can go far with a stateless bot 2011-11-04T12:09:03 I switched from a stateful bot to a hivemind stateless bot 2011-11-04T12:09:03 but the winner wont be one of those 2011-11-04T12:09:13 but yeah, you want SOME state 2011-11-04T12:09:22 generally speaking you want to keep track of food locations and enemy ant hills n stuff 2011-11-04T12:09:32 keeping track of food helps your food gathering immensely 2011-11-04T12:09:48 I actually got rid of that part in my code, need to reinstate it 2011-11-04T12:09:59 Did bocsimaco keep state? 2011-11-04T12:10:04 i need to "instate" it first :D 2011-11-04T12:10:16 its easy 2011-11-04T12:10:18 yeah fair. I guess i'm doing something wrong then as mine is only running one round at a time 2011-11-04T12:10:26 Or 'did.. kept' is right? 2011-11-04T12:10:32 did keep 2011-11-04T12:10:32 Jciec: well the thing is 2011-11-04T12:10:39 My work sucks big time now. I am ready to give everything for this beautiful contest, but the question is - Is it really worth the effort? 2011-11-04T12:10:41 frequently ants will LOSE sight of food before they get to it 2011-11-04T12:10:41 thank 2011-11-04T12:10:46 if you just go with the getFood() function 2011-11-04T12:10:52 once you lose sight your ant will stop pursuing that food 2011-11-04T12:10:55 do is an auxiliary verb, you dont change the other verb in any way 2011-11-04T12:10:58 so it is good to keep a global cache and remember the positions 2011-11-04T12:11:04 but, of course, you gotta do the cleanup as well 2011-11-04T12:11:24 *** Larose has joined #aichallenge 2011-11-04T12:11:42 getFood()? 2011-11-04T12:11:57 why do people assume others know the starter bots? 2011-11-04T12:12:06 praveen: it would be more worth it if it didn't take 2 hours to see another game played :) 2011-11-04T12:12:27 it comes as part of the starter package 2011-11-04T12:12:37 getMyAnts() getEnemyHills() 2011-11-04T12:12:38 etc etc 2011-11-04T12:12:45 well, i oblivious to them 2011-11-04T12:12:49 im* 2011-11-04T12:12:50 dude you gotta use them 2011-11-04T12:12:50 twymer: Ok I did not know that it takes two hours. thats bad 2011-11-04T12:12:50 twymer: you can play on a tcp server... playing a lot faster 2011-11-04T12:13:00 @tcp 2011-11-04T12:13:00 roflmao: you gotta write your own bot 2011-11-04T12:13:01 thestinger: tcp could be http://ants.fluxid.pl/howto. 2011-11-04T12:13:12 mcstar: it's not from the starter bots 2011-11-04T12:13:14 nmalbran: oh, that would be nice 2011-11-04T12:13:15 praveen: I think no one can answer something but 'you deciding how interesting it is for you'. If I correct, there was no prizes here ever. 2011-11-04T12:13:22 mcstar: it is from the framework, the one that reads input from the server 2011-11-04T12:13:29 as contestbot said... read this: http://ants.fluxid.pl/howto 2011-11-04T12:13:34 mcstar: the one that comes with every language that you start out with to make your own bot 2011-11-04T12:13:34 what framework? 2011-11-04T12:13:41 thats what im saying 2011-11-04T12:13:43 http://aichallenge.org/starter_packages.php 2011-11-04T12:13:49 that is a "starter bot" 2011-11-04T12:13:57 im saying "write your own" 2011-11-04T12:14:03 nmalbran: thank you! i'll see if i can get this going 2011-11-04T12:14:08 why redo the wheel>? 2011-11-04T12:14:10 *** olexs1 has joined #aichallenge 2011-11-04T12:14:13 it's just text parsing really 2011-11-04T12:14:18 praveen: You can use TCP-server and have a delay bettwen games only few minutes. Also you can run multiple versions of your bot on TCP. 2011-11-04T12:14:19 roflmao: it will fit your road better 2011-11-04T12:14:45 UncleVaysa: Thanks I shall try that 2011-11-04T12:14:53 would someone mind looking at one of my bots games and saying what I should focus on doing next? 2011-11-04T12:15:01 mcstar: we'll just have to agree to disagree :), the starter package works great for me. 2011-11-04T12:15:03 *** olexs has quit IRC (Ping timeout: 260 seconds) 2011-11-04T12:15:04 http://ants.fluxid.pl/replay.20023 2011-11-04T12:15:13 twymer: i discovered it yesterday... i been playing like 1 game each 1or 2 minutes... since then :D 2011-11-04T12:15:30 roflmao: im just saying dont assume everyone uses them, and know what each of your quoted functions does 2011-11-04T12:15:30 *** sigh has quit IRC (Remote host closed the connection) 2011-11-04T12:15:34 *** cyphase has joined #aichallenge 2011-11-04T12:15:56 *** NakedJeff has joined #aichallenge 2011-11-04T12:16:27 praveen: In fact, official server now is more for 'look at me' purpose, not for real testing. 2011-11-04T12:16:44 conor_f: it looks like your lack of pathfinding is hurting you the most at the moment 2011-11-04T12:17:03 1 week time spent ( any Ruby bots or Russians here? ^_^ 2011-11-04T12:17:04 conor_f: you need an alg. that distributes your ants 2011-11-04T12:17:20 first master the fast inflation phase 2011-11-04T12:17:39 xgetc25: Any Russians or Ruby guys only? 2011-11-04T12:17:40 master the fast inflation phase? 2011-11-04T12:17:47 exploring 2011-11-04T12:17:53 you want your ants to explore the map to find food 2011-11-04T12:18:00 which creates more explorers and finds more food and so on and so forth 2011-11-04T12:18:12 are you familiar with BFS? 2011-11-04T12:18:12 ok, so I need to explore better 2011-11-04T12:18:15 yes 2011-11-04T12:18:25 conor_f: you have to explore the map very fast in your voronoi region 2011-11-04T12:18:26 do a BFS map using the unexplored nodes as your starting open set 2011-11-04T12:18:26 stanford ai ftw ;) 2011-11-04T12:18:29 nmalbran: so it's about 1 game per 2 minutes? think i'm queued up okay, just waiting now 2011-11-04T12:18:31 yep privet how to write private messega from web mirc - have skype? 2011-11-04T12:18:39 *** Saulzar has quit IRC (Ping timeout: 252 seconds) 2011-11-04T12:18:58 conor_f: perfect, then you'll know what I'm talking about :). BFS the unexplored nodes, that'll make your ants go to the nearest unexplored node and it spreads them out. 2011-11-04T12:19:25 there are probably other ways but that one works pretty well 2011-11-04T12:19:37 roflmao: thats a neat trick to sprad them 2011-11-04T12:19:39 BFS the unexplored nodes - fail 2011-11-04T12:19:45 timeout screen u see 2011-11-04T12:19:54 xget: only if your bfs is slow 2011-11-04T12:19:58 ok. I never implemented a BFS in code though, just first reaction will I need a linked list or something to keep track of nodes? 2011-11-04T12:20:05 what language are you using? 2011-11-04T12:20:13 ruby 2011-11-04T12:20:14 xgetc25: no, icq only and I do not use web irc client. 2011-11-04T12:20:15 C++, timeout shouldn't be an issue 2011-11-04T12:20:15 he means bfs the unseen region 2011-11-04T12:20:42 sweet, getting games played on the fluxid.pl server, big thanks to whoever is behind this! 2011-11-04T12:20:46 mcstar: well, yes and no. I usually bfs unexplored (nodes I've never seen) first, once the entire map has been explored at least one, I switch to unseen region. 2011-11-04T12:20:48 fuuu icq ! get skype ( wtf y still live in 1990? 2011-11-04T12:21:03 twymer: yes you only wait 1 or 2 minutes between each game 2011-11-04T12:21:03 xget: that's your problem. the lists in ruby are slow as molasses 2011-11-04T12:21:20 hmm okay 2011-11-04T12:21:20 ok, thanks guys. I'll implement something :) 2011-11-04T12:21:24 xgetc25: yep, still have very-very slow internet limited to 20mb per day :D 2011-11-04T12:21:25 roflmao: i think it could be faster right at the start if you'd use unseen there too 2011-11-04T12:21:28 dont you think? 2011-11-04T12:21:49 faster for exploring or perf wise? 2011-11-04T12:21:54 The C++ starter package seems to use vectors instead of arrays, why is that? 2011-11-04T12:22:03 I'm really happy that I made a new ant class and layed everything out differently 2011-11-04T12:22:23 want to change search type, change Ant::explore() :D 2011-11-04T12:22:35 userjjb: because they're dynamically expandable 2011-11-04T12:22:45 any topcoders here? 2011-11-04T12:22:46 twymer: uh, thanks 2011-11-04T12:22:56 C++ => vectors + STL, C => Arrays 2011-11-04T12:23:05 roflmao: for exploration, not performance 2011-11-04T12:23:16 really? interesting, worth a try. 2011-11-04T12:23:34 (just found out about http://ants.fluxid.pl, should hang out here more often...) 2011-11-04T12:23:38 roflmao: i dont know what you do exactly, it was just a thought 2011-11-04T12:23:49 no, yes, it's definitely a good idea 2011-11-04T12:24:10 *** HaraKiri has joined #aichallenge 2011-11-04T12:24:28 i dont think you want to use vectors for a 2d array 2011-11-04T12:24:35 i think its an overkill 2011-11-04T12:24:42 since you dont need to resize it at runtime 2011-11-04T12:24:50 but its imo 2011-11-04T12:24:56 fluxid: do u know how many bot are currently fighting right now(at tcp server)? 2011-11-04T12:25:37 *** lorill has joined #aichallenge 2011-11-04T12:26:24 nmalbran: no way to determine it really... many nicks are "thrown away" and inactive 2011-11-04T12:26:29 *** cyphase has quit IRC (Ping timeout: 240 seconds) 2011-11-04T12:26:34 maybe count from 3 last days would say something 2011-11-04T12:26:48 mcstar: yeah it seemed that way to me. If I'm not planning on resizing it seems like a waste 2011-11-04T12:26:50 nmalbran: bots on fluxid are good though, all pretty awesome/ 2011-11-04T12:26:51 *** marijnfs has quit IRC (Quit: leaving) 2011-11-04T12:27:00 *** caution has joined #aichallenge 2011-11-04T12:27:07 Fluxid: ok... 2011-11-04T12:27:16 *** amstan has joined #aichallenge 2011-11-04T12:27:16 mcstar: I just wasn't sure if there were any other advantages to them 2011-11-04T12:27:16 *** ChanServ sets mode: +o amstan 2011-11-04T12:27:22 well, sorting by last seen fails 2011-11-04T12:27:26 is psyco installed on the gameserver? 2011-11-04T12:27:35 caution: probably not 2011-11-04T12:27:40 psycho isnt 2.6 only? 2011-11-04T12:27:42 that's so annoying 2011-11-04T12:27:45 because psyco is deprecated and doesn;t work with 2.7 2011-11-04T12:27:49 and not 64bit 2011-11-04T12:27:53 haha 2011-11-04T12:27:56 my boy use psyco and work well... 2011-11-04T12:28:05 ImportError ;) 2011-11-04T12:28:08 interesting typo 2011-11-04T12:28:14 about this BFS, so I pick a node I haven't yet explored, then move N/S/E/W for each node recursively until I find an unexplored one. Then how do I get the next move I need? 2011-11-04T12:28:16 yeah, psyco doesn't work on x86_64 2011-11-04T12:28:29 my bot* use psyco and work well... 2011-11-04T12:28:33 pypy to the rescue! 2011-11-04T12:28:39 but it;s not supported either 2011-11-04T12:28:48 pfff excellent rescu 2011-11-04T12:28:50 so unfair 2011-11-04T12:28:50 e 2011-11-04T12:28:55 yeah, there could be a .pypy extension - they added C++11 with a different extension 2011-11-04T12:29:01 open an issue in the tracker :) 2011-11-04T12:29:04 Fluxid: you the creator of the TCP server? 2011-11-04T12:29:13 conor_f: you have to get the way back the node you traveled... 2011-11-04T12:29:15 conor_f: In my search I know for each square from what square I came from. 2011-11-04T12:29:16 mcstar: but it's faster, supports AMD64 and 2.7 ;) 2011-11-04T12:29:23 conor_f: hoster 2011-11-04T12:29:28 there shouldn't need different extensions for pypy, just import it 2011-11-04T12:29:29 janzert said he'll consider pypy, please make your wishes known to him ;) 2011-11-04T12:29:34 *** HeyChillOut has joined #aichallenge 2011-11-04T12:29:46 you don't import pypy, it's a different python implementation 2011-11-04T12:29:51 oh, ok 2011-11-04T12:29:51 yup 2011-11-04T12:29:53 So when you found ant you do move it to that square. 2011-11-04T12:29:55 amstan: you confuse it with psycho? 2011-11-04T12:29:59 completely different binary and runtime 2011-11-04T12:30:00 not sure 2011-11-04T12:30:12 hmmm, but If I'm recursing, can't I not find out exactly where I came from 2011-11-04T12:30:14 *? 2011-11-04T12:30:28 and if on server is python2.7, there for sure is no psyco 2011-11-04T12:30:29 and Fluxid, good job :) saved the day for everybody :P 2011-11-04T12:30:31 but i was assuming there's some magic when you import pypy, which takes all the code the cpython was trying to execute and pass it to pypy 2011-11-04T12:31:03 amstan: there were hacks like this 2011-11-04T12:31:15 someone implemented function decorator 2011-11-04T12:31:15 amstan: sounds like psyco 2011-11-04T12:31:28 *** nmalbran_ has joined #aichallenge 2011-11-04T12:31:34 which used pypy's stuff to optimize function 2011-11-04T12:32:03 *** ccc_ has joined #aichallenge 2011-11-04T12:32:08 but it's deprecated by pypy's folks, they said "we don't support this and we will make it not working" or something like that 2011-11-04T12:32:49 it seems like they don't like a bunch of things 2011-11-04T12:32:55 *** Jciec has quit IRC (Ping timeout: 265 seconds) 2011-11-04T12:32:55 *** gr_wip has quit IRC (Ping timeout: 265 seconds) 2011-11-04T12:32:55 *** LouisMartin has quit IRC (Ping timeout: 265 seconds) 2011-11-04T12:33:00 does the game server support python 2.6? 2011-11-04T12:33:09 for some reason they choose not to implement wrappers around cpython modules 2011-11-04T12:33:11 amstan: that was a nasty hack, so i'm not surprised 2011-11-04T12:33:12 caution: no 2011-11-04T12:33:16 caution: only 2.7 2011-11-04T12:33:24 *** xgetc25 has quit IRC (Ping timeout: 265 seconds) 2011-11-04T12:33:32 amstan: and they try to support cpython extensions 2011-11-04T12:33:44 conor_f: You can pass the square where you come from to this cell in your function call or (I used this) add field Father right to your square type. 2011-11-04T12:33:50 has anyone changed the distance method so that it calculates the distance manhattan method or am I overlooking some awful side effects? 2011-11-04T12:33:53 this is why 36 of the top 100 are C++ and only 8 python 2011-11-04T12:33:53 *** nmalbran has quit IRC (Ping timeout: 265 seconds) 2011-11-04T12:34:08 *** kilae has quit IRC (Quit: ChatZilla 0.9.87 [Firefox 7.0.1/20110928134238]) 2011-11-04T12:34:12 Fluxid: so numpy should work soon? 2011-11-04T12:34:22 *** smremde has quit IRC (Ping timeout: 265 seconds) 2011-11-04T12:34:22 *** userjjb has quit IRC (Ping timeout: 265 seconds) 2011-11-04T12:34:23 Don't forget OCaml! :D 2011-11-04T12:34:27 because pypy is written in python itself, and uses different gc and stuff, they don't recommend it because simulating cpython api is much slower 2011-11-04T12:34:33 amstan: they reimplement numpy ;) 2011-11-04T12:34:37 yeah 2011-11-04T12:34:43 conor, you can easily add a manhatten distance function 2011-11-04T12:34:51 they are redoing the CPython interface stuff in rpython at least, maybe the rest too? 2011-11-04T12:34:51 *** lorill has quit IRC (Ping timeout: 265 seconds) 2011-11-04T12:34:51 *** praveen has quit IRC (Ping timeout: 265 seconds) 2011-11-04T12:34:52 just copy the euclidiean one and remove teh square root 2011-11-04T12:34:54 there was small flame lately betwen pypy and numpy guys afaik 2011-11-04T12:34:57 yeah, but will it cause any bad side effects? 2011-11-04T12:34:58 *** NakedJeff has quit IRC (Quit: NakedJeff) 2011-11-04T12:35:00 no 2011-11-04T12:35:08 you should probably switch to ints though 2011-11-04T12:35:11 ok, ty. that's what I was wondering 2011-11-04T12:35:15 Fluxid: it seems weird that a project that is trying to make stuff run faster refuses to implement ways to call native code 2011-11-04T12:35:19 kk 2011-11-04T12:35:22 ty 2011-11-04T12:35:26 Antimony: you are very much incorrect 2011-11-04T12:35:26 *** Harpyon has joined #aichallenge 2011-11-04T12:35:31 amstan: there is ctypes 2011-11-04T12:35:43 there is also libffsomething, forgot the name 2011-11-04T12:35:43 mcstar: will there be side effects? 2011-11-04T12:35:52 How am I incorrect? 2011-11-04T12:36:03 so you can do calls to C and C++ from pypy 2011-11-04T12:36:04 why so you think manhatten is euclidean ^2? 2011-11-04T12:36:07 do* 2011-11-04T12:36:09 no 2011-11-04T12:36:15 I said to creaet a new function 2011-11-04T12:36:21 Fluxid: i just think that it would be a lot easier to adopt pypy if all python extensions worked with it 2011-11-04T12:36:21 amstan: they do have the cpython interface implemented, but they would have to use the same garbage collection/memory model and the same global interpreter lock from python to make it fast - so pypy wouldn't be fast 2011-11-04T12:36:25 obviously stuff using euclidean distance needs to use euclidean 2011-11-04T12:36:44 Antimony: you dont get tha manhattan distance by removing the sqrt 2011-11-04T12:36:50 cpython extensions rely on the GIL to work 2011-11-04T12:36:52 *** cyphase has joined #aichallenge 2011-11-04T12:36:54 oops sorry, yeah 2011-11-04T12:37:01 you ad them 2011-11-04T12:37:02 I'm asking if I change State.Distance() to return manhattan distance instead of euclidian distance, will there be side effects 2011-11-04T12:37:12 int State::distMan(const Location &loc1, const Location &loc2) const 2011-11-04T12:37:14 { 2011-11-04T12:37:16 int d1 = abs(loc1.row-loc2.row), 2011-11-04T12:37:17 d2 = abs(loc1.col-loc2.col), 2011-11-04T12:37:19 thestinger: yes, but let's say you're trying to compute primes in your program, you would be better off using a cpython module that might be slow to call than implementing the code in pypy 2011-11-04T12:37:19 dr = min(d1, rows-d1), 2011-11-04T12:37:21 dc = min(d2, cols-d2); 2011-11-04T12:37:23 return dr+dc; 2011-11-04T12:37:23 it's easy to get manhatten distance, I just don't want to mess anything up by accident 2011-11-04T12:37:24 amstan: yeah, but cpython c api backend need to simulate lots of stuff pypy doesn't have, because there is no need for it 2011-11-04T12:37:25 }; 2011-11-04T12:37:27 I did implement it correctly, I just had a slip of mind 2011-11-04T12:37:27 Antimony: use nopaste 2011-11-04T12:37:28 mcstar: at least in python, the distance function calculate manhaten distance by default.. 2011-11-04T12:37:29 Antimony: don't paste stuff in here 2011-11-04T12:37:33 oh sorry 2011-11-04T12:38:05 amstan: computing primes in pypy may be as fast as in native c 2011-11-04T12:38:08 lol, so no side-effects? 2011-11-04T12:38:13 amstan: yeah, right now it would be faster - but you would be limited to essentially single threaded code 2011-11-04T12:38:19 amstan: so there would be no need to call C ;) 2011-11-04T12:38:20 in the future it's not a sustainable model 2011-11-04T12:38:25 *** praveen has joined #aichallenge 2011-11-04T12:38:28 Fluxid: ic, so that's the idea then? 2011-11-04T12:38:50 conor, vision and fighting uses euclidean distance 2011-11-04T12:38:50 pypy is mostly implemented in rpython, which is a compiled language 2011-11-04T12:38:59 just #include 2011-11-04T12:39:01 Fluxid: so you're better off reimplementing numpy(the matrix functions) in pypy than calling numpy? 2011-11-04T12:39:02 strategy guide is incomplete. http://aichallenge.org/strategy_guide.php - anbody having the full guide? 2011-11-04T12:39:13 * cyphase plugs cython again 2011-11-04T12:39:18 conor_f: :) It seems that you'll never get answer 2011-11-04T12:39:30 Antimony: then why did you say there'd be no side effects at the start? 2011-11-04T12:39:30 praveen: incomplete how? 2011-11-04T12:39:31 amstan: some of the numpy stuff is already implemented in pypy 2011-11-04T12:39:34 nvm, it's fine 2011-11-04T12:39:39 random comment 2011-11-04T12:39:41 I said there'd be no side effects if you made a copy 2011-11-04T12:39:42 *** userjjb has joined #aichallenge 2011-11-04T12:39:42 to increase traffic 2011-11-04T12:39:44 *** bilbo has joined #aichallenge 2011-11-04T12:39:54 obviously you can't just change the eculdiean function 2011-11-04T12:40:04 amstan: the page ends with this title "Battling Enemy Ants" but nothing below 2011-11-04T12:40:10 pypy in average is 4.8x times faster than cpython, but there were cases like 50x speedups and near-C speed cases 2011-11-04T12:40:18 praveen: oh.. hmm, you're right 2011-11-04T12:40:20 praveen: try F5 2011-11-04T12:40:26 UncleVasya: no, it's like that 2011-11-04T12:40:35 sry 2011-11-04T12:40:59 You should end up with something like this. http://pastebin.com/nggMWmfA 2011-11-04T12:41:03 praveen: we're looking for volunteers to complete it 2011-11-04T12:41:16 amstan: but at the end pypy is still young and struggles hard with being compatible. all depends on needs 2011-11-04T12:41:24 amstan: pypy devs are gathering funding now to reimplement numpy 2011-11-04T12:41:42 yeah, ty Antimony 2011-11-04T12:41:44 Antimony: now what is left, is to figure out from start and end locations the correct direction 2011-11-04T12:41:58 pathfinding is easy 2011-11-04T12:42:16 at least if you're not doing fancy optimizations 2011-11-04T12:42:30 but a basic BFs is good enough most of the time 2011-11-04T12:42:30 Fluxid: how do i use the tcp server lol 2011-11-04T12:42:30 yes 2011-11-04T12:42:38 @tcp 2011-11-04T12:42:39 mcstar: tcp could be http://ants.fluxid.pl/howto. 2011-11-04T12:42:40 mcstar: 2011-11-04T12:42:42 @tcp 2011-11-04T12:42:43 Fluxid: tcp could be http://ants.fluxid.pl/howto. 2011-11-04T12:42:45 duh 2011-11-04T12:42:48 antimony: I'd go beyond that. A well-implemented basic BFS is BETTER than anything else for this game. 2011-11-04T12:42:57 i see 2011-11-04T12:43:00 roflmao: A*? 2011-11-04T12:43:20 if you have a specific goal that's far away, then something like A* + jump point pruning would probably be best 2011-11-04T12:43:43 yeah, a* prunes like hell if your heuristics is close to correct 2011-11-04T12:43:44 when goals are numerous, BFS works well 2011-11-04T12:44:19 Fluxid: i dont get the last bullet-point? 2011-11-04T12:44:21 what are people using for the heuristic besides manhattan? 2011-11-04T12:44:29 amstan: mahattan*3 2011-11-04T12:44:34 worked well for me 2011-11-04T12:44:36 *3? why? 2011-11-04T12:44:36 lol 2011-11-04T12:44:40 no good reason 2011-11-04T12:44:42 empirical 2011-11-04T12:44:47 amstan: the problem with a* is that it is for single targets 2011-11-04T12:44:54 yes, if you have one target and one objective a* beats BFS 2011-11-04T12:45:00 but since you have hundreds of ants 2011-11-04T12:45:02 amstan: it is called weighted a* 2011-11-04T12:45:03 oh, ic, ok 2011-11-04T12:45:09 computing one global BFS map is better than doing hundreds of a*'s 2011-11-04T12:45:10 roflmao: if we made a very basic bfs python bot do you think we could get it included with the stock sample_bots? 2011-11-04T12:45:22 hhe no 2011-11-04T12:45:38 icefox: I don't know, probably not. I think the sample bots are just to get people launched 2011-11-04T12:45:43 but the whole idea is for people to write their own code :P 2011-11-04T12:45:47 there is a BFS in the starter bots - it's used for marking stuff as visible 2011-11-04T12:45:54 ah, 2011-11-04T12:45:57 ^^ 2011-11-04T12:45:58 really??? 2011-11-04T12:46:00 in which M? 2011-11-04T12:46:01 the python bot had it replaced with better code, but it's still in the C++ one at least 2011-11-04T12:46:05 updateVisionWhatever 2011-11-04T12:46:15 icefox: the starter bots shouldn't provide strategies, it is left for the contestant to figure it out 2011-11-04T12:46:27 icefox: you can make a tutorial though on it, maybe we'll include it on the site 2011-11-04T12:46:33 amstan: LeftyBot is a strategy 2011-11-04T12:46:43 not a very good one... 2011-11-04T12:46:46 but still :D 2011-11-04T12:46:52 LeftyBot is actually the best sample bot there is :P 2011-11-04T12:46:54 icefox: yes, but it's very easy to understand for people that are not familiar with programming 2011-11-04T12:46:56 starter bots != sample bots 2011-11-04T12:46:57 HunterBot is totally useless 2011-11-04T12:46:57 https://github.com/aichallenge/aichallenge/blob/epsilon/ants/dist/starter_bots/cpp/State.cc#L75 that's a perfectly good BFS implementation 2011-11-04T12:47:06 if you put BFS they'll just quit because they have no idea what it does 2011-11-04T12:47:34 right now my biggest problem with development is that I don't have good local starter bots 2011-11-04T12:47:41 so I'm kind of developing strats in the blind 2011-11-04T12:47:50 make your bot play against versions of itself :) 2011-11-04T12:47:52 hmm a folder of starter_bots that a documented etc might be worth it 2011-11-04T12:47:58 what platform do you use? 2011-11-04T12:48:01 that *are* 2011-11-04T12:48:02 thestinger: yeah, but still, it's my mind and strategies :P 2011-11-04T12:48:22 Fluxid: i dont get this password part 2011-11-04T12:48:25 thestringer: sometimes you might think you are improving your bot when in reality you're just improving it against a particular enemy bot 2011-11-04T12:48:27 i used password 2011-11-04T12:48:28 If it's 32 bit Windows, I could try sending a compiled version of my bot, as long as you promise not to reverse engineer it 2011-11-04T12:48:34 but it seems it worked 2011-11-04T12:48:41 thestinger: but then someone else comes along with a radically different strategy and pokes holes in your "new and improved" bot :P 2011-11-04T12:48:43 roflmao: yeah, that's why tcp is nice 2011-11-04T12:48:49 Antimony: or you're evil and want to send everyone trojans to steal their bot 2011-11-04T12:48:56 lol 2011-11-04T12:49:05 yep ^^, I gotta streamline my jar packaging so I can easily push my new changes to TCP 2011-11-04T12:49:07 I was trying to be helpful 2011-11-04T12:49:12 Antimony: sure, lol 2011-11-04T12:49:26 Antimony: i'm not saying not to do it 2011-11-04T12:50:02 http://ants.fluxid.pl/player/roflmao_nu 2011-11-04T12:50:06 man my bot sure does suck 2011-11-04T12:50:06 woot, longest my bots ever lasted on the tcp server :D 2011-11-04T12:50:36 *** UncleVasya has quit IRC (Read error: Connection reset by peer) 2011-11-04T12:50:43 aight — does anyone have any suggestions for implementing an enemy ant repelling piece of functionality? 2011-11-04T12:50:52 I was thinking of a negative weighted BFS map 2011-11-04T12:50:56 I'm still trying ot figure that out myself 2011-11-04T12:51:00 but it's a little too global 2011-11-04T12:51:09 I mean it does repel enemy ants but it repels them from extreeemely far away 2011-11-04T12:51:24 maybe adding a max cap to the cost 2011-11-04T12:51:39 ah! I think I know what I'll do 2011-11-04T12:51:52 just use a −1 cost for a small radius around each enemy ant 2011-11-04T12:52:00 or −2 or whatever 2011-11-04T12:52:33 if(obj_array[row][col] > 0) 2011-11-04T12:52:34 (*arS)[row][col] = 10; 2011-11-04T12:52:45 that repels 2011-11-04T12:52:53 what's arS? 2011-11-04T12:53:01 by the way, if you're on C++, I'd recommend using a custom wrapper isntead of a 2d array 2011-11-04T12:53:04 pointer to an array class 2011-11-04T12:53:06 it's much cleaner 2011-11-04T12:53:17 and you can use operator overloading 2011-11-04T12:53:53 hopps 2011-11-04T12:53:58 ive got a query 2011-11-04T12:55:26 *** sorki is now known as srk_gone 2011-11-04T12:56:09 *** amstan has quit IRC (Ping timeout: 256 seconds) 2011-11-04T12:56:45 *** conor_f has quit IRC (Ping timeout: 260 seconds) 2011-11-04T12:56:58 *** amstan has joined #aichallenge 2011-11-04T12:56:58 *** ChanServ sets mode: +o amstan 2011-11-04T12:58:49 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-04T12:59:11 *** xgetc25 has joined #aichallenge 2011-11-04T13:01:51 time to implement some kind of defense... 2011-11-04T13:03:09 call the town hall alarm 2011-11-04T13:03:18 give those bows to the peasants! 2011-11-04T13:05:39 spartaaa? anyone? 2011-11-04T13:06:15 *** NakedJeff has joined #aichallenge 2011-11-04T13:07:39 *** Antimony has joined #aichallenge 2011-11-04T13:11:11 *** pedrosorio has joined #aichallenge 2011-11-04T13:12:31 i timed out on the tcp server 2011-11-04T13:12:34 wonder why 2011-11-04T13:12:39 my bot is crazy fast 2011-11-04T13:14:23 username? 2011-11-04T13:14:30 mcstar 2011-11-04T13:14:31 duh 2011-11-04T13:14:35 mcstar: are you using wifi? 2011-11-04T13:14:45 nein 2011-11-04T13:14:54 good 'ol adsl 2011-11-04T13:15:55 hm 2011-11-04T13:16:09 why are the moves echoed? 2011-11-04T13:16:20 stupid question 2011-11-04T13:16:20 just because it looks cool 2011-11-04T13:17:19 *** treeform1 has joined #aichallenge 2011-11-04T13:19:13 *** NakedJeff has quit IRC (Quit: NakedJeff) 2011-11-04T13:28:00 *** conor_f has joined #aichallenge 2011-11-04T13:33:04 *** mviel_ has quit IRC (Remote host closed the connection) 2011-11-04T13:33:09 *** malloc_ has joined #aichallenge 2011-11-04T13:34:33 *** Antimony has quit IRC (Ping timeout: 245 seconds) 2011-11-04T13:36:14 *** HaraKiri has quit IRC () 2011-11-04T13:36:26 *** amstan_ has joined #aichallenge 2011-11-04T13:36:26 *** ChanServ sets mode: +o amstan_ 2011-11-04T13:37:31 *** amstan has quit IRC (Ping timeout: 256 seconds) 2011-11-04T13:41:01 *** Blkt has quit IRC (Quit: gogogo) 2011-11-04T13:41:47 lol, stupid intro to ai people made another error. youtube video is private 2011-11-04T13:42:05 conor_f: what? 2011-11-04T13:42:18 ai is hard kind of 2011-11-04T13:44:12 amstan_: the stanford intro to aiclass. they were supposed to have a live web session today but the youtube video for it is private so you can't watch it :P 2011-11-04T13:44:25 conor_f: get on google plus 2011-11-04T13:44:44 too young for it :/ 2011-11-04T13:44:55 *** the-mgt has joined #aichallenge 2011-11-04T13:45:04 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-04T13:45:33 amstan_: can hill see? 2011-11-04T13:45:37 hills 2011-11-04T13:45:42 i don't think so 2011-11-04T13:47:05 amstan_: did you see it? 2011-11-04T13:47:15 i'm in class 2011-11-04T13:47:22 i tought it was later 2011-11-04T13:47:47 they put up links to it 2011-11-04T13:48:13 *** Murashka has joined #aichallenge 2011-11-04T13:48:15 http://youtu.be/nOX6mNzuvVQ 2011-11-04T13:48:20 if you're intrested 2011-11-04T13:52:12 xathis_xe is too good in exploring. vow 2011-11-04T13:52:36 conor_f : it's private 2011-11-04T13:53:21 I keep timing out on the tcpserver 2011-11-04T13:53:30 nmalbran_: that's what I said too 2011-11-04T13:53:34 *** skunx has quit IRC (Read error: Connection reset by peer) 2011-11-04T13:53:43 amstan_ said go to google plus 2011-11-04T13:54:44 caution: meh two 2011-11-04T13:55:17 yippie i won my first game 2011-11-04T13:55:22 I'm fine on it, maybe it's the language you're using? Or it could just be network traffic 2011-11-04T13:55:51 mcstar: what's your name on the TCP server? 2011-11-04T13:55:51 *** dshawul has joined #aichallenge 2011-11-04T13:55:56 I'd like to see your bot :) 2011-11-04T13:56:15 mcstar, but i was talking about the main server now 2011-11-04T13:56:21 there i am AgentSmith 2011-11-04T13:56:24 and your name on that? 2011-11-04T13:56:25 kwl 2011-11-04T13:56:49 :P you're already higher ranked then me 2011-11-04T13:57:06 :) 2011-11-04T13:57:12 i had 130 ants in the buffer 2011-11-04T13:57:17 i.e. my colon 2011-11-04T13:57:26 I've time_remaining() checks that should make the timeout impossible. I'm guessing the connection is blocking. 2011-11-04T13:57:27 < mcstar> Fluxid: i dont get this password part ← it creates account on the first time 2011-11-04T13:57:37 with given password 2011-11-04T13:57:48 Fluxid: yep, i guessed, i just used password 2011-11-04T13:57:51 on second+ time it authorizes you with given password 2011-11-04T13:57:54 yup 2011-11-04T13:58:16 mcstar: you still need to make it raze hills :P 2011-11-04T13:58:20 *** Antimony has joined #aichallenge 2011-11-04T13:58:23 conor_f: next thing 2011-11-04T13:58:25 and defend mine 2011-11-04T13:58:30 what's the tcpserver turntime? 2011-11-04T13:58:30 *** epicmonkey has joined #aichallenge 2011-11-04T13:58:35 Fluxid: thx for putting up the server 2011-11-04T13:58:38 *** liberforce has joined #aichallenge 2011-11-04T13:58:50 mcstar: do you use BFS to explore? 2011-11-04T13:58:57 no 2011-11-04T13:59:04 no pathfinding for exploration 2011-11-04T13:59:05 mind me asking how you do? 2011-11-04T13:59:15 we were talking about it here 2011-11-04T13:59:20 ~2 hours ago? 2011-11-04T13:59:24 *** dshawul has quit IRC (Client Quit) 2011-11-04T14:00:06 fyi the turntime is 5000 2011-11-04T14:00:13 conor_f: you have access to the channel logs 2011-11-04T14:00:17 @topic 2011-11-04T14:00:17 mcstar: AI Challenge (sponsored by Google): http://aichallenge.org || Channel Logs: http://contestbot.aichallenge.org || Code Repo: http://github.com/aichallenge/aichallenge || About the game (Ants): http://aichallenge.org/problem_description.php || Submission deadline: December 18 23:59 EST 2011-11-04T14:01:20 yeah, scrollback 2011-11-04T14:01:56 don't see it though 2011-11-04T14:02:08 just about fast inflation or something :/ 2011-11-04T14:03:49 conor_f: search for 2011-11-04T14:03:51 2011-11-04T11:55:31 2011-11-04T14:03:55 its around that 2011-11-04T14:04:25 mcstar: np 2011-11-04T14:05:46 conor_f: http://www.gamedev.net/page/resources/_/technical/artificial-intelligence/the-core-mechanics-of-influence-mapping-r2799 2011-11-04T14:05:55 theres much uneeded info in it 2011-11-04T14:06:00 but the maps look good 2011-11-04T14:06:08 ok, ty 2011-11-04T14:06:20 peruse that page and you'll get the basic idea 2011-11-04T14:06:34 tyvm 2011-11-04T14:06:49 in your opinion, is it harder to implement the BFS? 2011-11-04T14:07:12 nvm :P reading the article 2011-11-04T14:07:18 you will need some kind of graph search 2011-11-04T14:07:28 but i wouldnt use it for this purpose 2011-11-04T14:07:43 but you have many possibilities 2011-11-04T14:07:54 probably the best answer is to try it for yourslef 2011-11-04T14:08:26 *** ikaros has joined #aichallenge 2011-11-04T14:08:52 *** praveen has quit IRC (Quit: Page closed) 2011-11-04T14:09:27 *** liberforce has left #aichallenge 2011-11-04T14:11:27 *** Katzonator has joined #aichallenge 2011-11-04T14:11:29 *** NakedJeff has joined #aichallenge 2011-11-04T14:18:07 *** Katzonator has quit IRC (Quit: Page closed) 2011-11-04T14:20:03 *** goants has quit IRC (Quit: Leaving.) 2011-11-04T14:20:21 conor_f: BFS is the easiest thing to implement 2011-11-04T14:21:53 pedrosorio: I'm a bit confused as to how I'd implement it though. I understand it and how it works, but putting it into code is hard for me :/ I'll read about this type of mapping first, then try to see where I stand 2011-11-04T14:22:12 conor_f what language do you use? 2011-11-04T14:22:37 C++ 2011-11-04T14:22:47 same as me :) 2011-11-04T14:22:53 did you use BFS? 2011-11-04T14:22:57 you can use the STL queue 2011-11-04T14:23:04 to implement BFS 2011-11-04T14:23:05 lol 2011-11-04T14:23:07 dont 2011-11-04T14:23:12 *** olexs1 has quit IRC (Quit: Leaving.) 2011-11-04T14:23:13 no stl queue pls 2011-11-04T14:23:23 just use a ring array 2011-11-04T14:23:33 mcstar: I'm using the grid as there is no need for the queue when doing BFS in maps 2011-11-04T14:23:37 but would you let me finish 2011-11-04T14:23:42 no 2011-11-04T14:23:44 :D 2011-11-04T14:23:49 :P 2011-11-04T14:23:49 pedrosorio: please do 2011-11-04T14:24:09 mcstar: why no stl queues? 2011-11-04T14:24:20 .. 2011-11-04T14:24:24 typically you can view the BFS as an algorithm where you take a node 2011-11-04T14:24:36 and put all his neighbours into a queue 2011-11-04T14:24:41 *its 2011-11-04T14:24:46 *** gr_wip has joined #aichallenge 2011-11-04T14:24:48 antimatroid: because you dont need it, and you can do away with a static sized array 2011-11-04T14:24:51 and then you process the first node of the queue 2011-11-04T14:25:04 and its better for reuse 2011-11-04T14:25:05 this is the basic idea of the BFS 2011-11-04T14:25:08 but simple neat code! 2011-11-04T14:25:10 to process the closest nodes first 2011-11-04T14:25:16 yeah, I understand BFS 2011-11-04T14:25:21 what mcstar is saying 2011-11-04T14:25:29 is that you can do it in a much easier way 2011-11-04T14:25:36 but how I put it into code is what I'm asking 2011-11-04T14:25:45 a 2D array 2011-11-04T14:25:45 if you use in this game 2011-11-04T14:25:52 as some people might realise, I'm not the best coder in the world :P 2011-11-04T14:26:04 you simply have to store in each element of the 2D array 2011-11-04T14:26:36 *** the-mgt has quit IRC (Quit: the-mgt) 2011-11-04T14:26:46 conor_f: make this as a subproject, dont integrate it into your bot in the beginning 2011-11-04T14:27:04 just make a map loader, make the pathfinder, and build up your algorithm 2011-11-04T14:27:30 want to see my fail of implementing A* in a similar way? :P 2011-11-04T14:27:33 http://pastebin.com/tQ9Qj3L5 2011-11-04T14:27:44 i have no choice now 2011-11-04T14:27:51 next time leave me time to say no 2011-11-04T14:27:58 *** TheLinker has quit IRC (Quit: Bye) 2011-11-04T14:28:09 :P 2011-11-04T14:28:10 you're one of those awful people who index as [x][y] :P 2011-11-04T14:28:17 yes, yes I am lol 2011-11-04T14:28:20 heeh dont do that 2011-11-04T14:28:34 really, antimatroid is right on this one 2011-11-04T14:28:39 lol, everything I ever learned is being destroyed :P :/ 2011-11-04T14:28:48 I must never have learnt anything right in C++ 2011-11-04T14:28:57 dw, it seems you're in the majority when it comes to programmers there 2011-11-04T14:28:57 its not related to c++ 2011-11-04T14:29:03 as a mathematician it makes me wince 2011-11-04T14:29:09 http://ants.fluxid.pl/replay.20206 2011-11-04T14:29:15 I'm still trying to figure out what the hell happened to my bot :| 2011-11-04T14:29:27 wait wait 2011-11-04T14:29:30 I'm using a queue 2011-11-04T14:29:31 xD 2011-11-04T14:29:43 how do you implement a bfs without a queue mcstar? 2011-11-04T14:29:47 roflmao: you said you found the bug 2011-11-04T14:29:56 mcstar: I thoguht i had found the bug 2011-11-04T14:30:00 pedrosorio: i never said i dont have a queue 2011-11-04T14:30:07 ahah 2011-11-04T14:30:10 pedrosorio: i said i dont have an stl queue 2011-11-04T14:30:11 okok no STL queue 2011-11-04T14:30:16 do you really think 2011-11-04T14:30:24 xD 2011-11-04T14:30:27 that's the significant bottleneck? 2011-11-04T14:30:30 conor_f: do you not find it confusing that you have to remember to transpose your information when inputting and ouputting it? 2011-11-04T14:30:36 i have my queue class, and its an array that is a ring-queue 2011-11-04T14:30:48 yes 2011-11-04T14:30:53 *** amstan_ has quit IRC (Ping timeout: 240 seconds) 2011-11-04T14:30:58 so STL is pointless for you? 2011-11-04T14:31:10 I prefer to not rewrite that which doesn't need to be rewritten 2011-11-04T14:31:19 pedrosorio: you can sort of f up your algorithm, for example if you use fibonacci based priority queues with a* 2011-11-04T14:31:21 and the STL queue is a good case of that 2011-11-04T14:31:24 underlord: no, I think that way anyways, the minute I see array/vector I think chessboard style lol 2011-11-04T14:31:34 *** mwang has joined #aichallenge 2011-11-04T14:31:36 fibonacci heap based* 2011-11-04T14:31:48 but we're not talking about A* 2011-11-04T14:31:55 mcstar and i are 2011-11-04T14:32:03 underlord: is 2011-11-04T14:32:04 im not 2011-11-04T14:32:06 :D 2011-11-04T14:32:11 mcstar: should i really be worried about stl queues? 2011-11-04T14:32:15 we were talking about bfs 2011-11-04T14:32:16 *** underlord is now known as antimatroid 2011-11-04T14:32:20 priority queues are a whole different subject 2011-11-04T14:32:21 i forgot about that :P 2011-11-04T14:32:23 but a simple queue 2011-11-04T14:32:30 antimatroid: you should benchmark it 2011-11-04T14:32:48 STL does it pretty well as far as I'm concerned 2011-11-04T14:32:52 Ok, I really just want to get some sort of exploration going here. the easiest to implement according to people is BFS. amirite? 2011-11-04T14:32:53 i don't even know how to benchmark stuff properly, or do i literally just come up with an example and keep a history of times? 2011-11-04T14:32:57 antimatroid: if stl priques are heap based, than it might slow you down 2011-11-04T14:33:20 they become efficient for much larher sizes 2011-11-04T14:33:36 i was benchmarking 5 different prique implementations in common lisp 2011-11-04T14:33:49 and those are usually fast, good codes 2011-11-04T14:33:55 comparable to c++ 2011-11-04T14:34:01 conor_f: yeah, just add the target location to a queue and mark the location as added, while source has not been found take the first location off the queue, for each neighbour if it's not the source and has not been added, add it to the queue and mark it as added, otherwise if it is the source then the source wants to move into the square you just found it from.. 2011-11-04T14:34:15 what is the fastest priority queue for a small number of nodes typically, mcstar? 2011-11-04T14:34:28 mcstar: i have no idea what they do, although i know they store priques in a vector? 2011-11-04T14:34:52 i have a very very poor understanding of lower level stuff 2011-11-04T14:35:45 pedrosorio: i found the fastest is to use simple lists and insert elements appropriately 2011-11-04T14:35:57 :O 2011-11-04T14:35:58 in common lisp a linked list is your basic data structure 2011-11-04T14:36:04 aaaaaaaaah 2011-11-04T14:36:10 but would that hold for c++? 2011-11-04T14:36:12 but antimatroid, where is my destination? The nearest non-explored location. but how do I find that? Just have the if() condition for the target location if(location.not_found()) 2011-11-04T14:36:18 it could 2011-11-04T14:36:38 conor_f: you might take a food location as a target for example and find the shortest path from an ant 2011-11-04T14:36:38 depends how many elements are in the prique, and what is the implementation of it 2011-11-04T14:36:44 and move that ant towards the food location 2011-11-04T14:36:45 thats why im saying you need benchamrking 2011-11-04T14:36:58 I guess the limiting behaviour analysis they teach you in algorithms courses is just a lie 2011-11-04T14:36:59 :( 2011-11-04T14:37:00 xD 2011-11-04T14:37:14 (probably worth it if you work at google, though) 2011-11-04T14:37:23 antimatroid: so this isn't just for exploring, also for getting directions form a to b? 2011-11-04T14:37:41 conor_f: definitely 2011-11-04T14:37:47 pretty much 2011-11-04T14:37:50 ok 2011-11-04T14:37:51 conor_f: right now all my ants do is BFS 2011-11-04T14:37:56 well, you cant avoid profiling in the end, but it helps if you know the space-time characteristics of your algorithsm 2011-11-04T14:37:57 I'll try I suppose 2011-11-04T14:38:25 if you want to find unsearched locations, search from the ant till you find unexplored land, but you will need to mark which direction the ant had to move for each location in the search queue 2011-11-04T14:39:02 you can also for example add all food locations to your search queue and find the shortest path from an ant to a food square and iteratively collect all the food items like that 2011-11-04T14:39:28 http://pastebin.com/HQcpqJh5 2011-11-04T14:39:35 this is my queue 2011-11-04T14:39:35 that way you collect the food closest to your ants first 2011-11-04T14:39:54 *** marijnfs has joined #aichallenge 2011-11-04T14:40:50 ahh 2011-11-04T14:40:57 this is hard :/ 2011-11-04T14:41:04 *** ccarey has left #aichallenge 2011-11-04T14:41:08 Ok, I'll try a BFS. thanks guys 2011-11-04T14:41:57 and this is the prique in cl: 2011-11-04T14:42:05 http://pastebin.com/2JnMPnW1 2011-11-04T14:42:15 lisp is succint :D 2011-11-04T14:42:25 oh god 2011-11-04T14:42:37 I can't understand half of that :O 2011-11-04T14:42:48 oh, it's lisp. thats ok so :P 2011-11-04T14:42:55 :D 2011-11-04T14:43:02 gave me a fright :P 2011-11-04T14:43:08 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-04T14:43:41 actually its very idiomatic 2011-11-04T14:43:42 *** ikaros has joined #aichallenge 2011-11-04T14:43:53 what you really want is closer to what you write in lisp 2011-11-04T14:44:21 but the world isnt perfect so we have other languages too 2011-11-04T14:44:27 *** xgetc25 has quit IRC (Quit: Page closed) 2011-11-04T14:45:44 are ppl finding A* to time heavy? 2011-11-04T14:46:29 shouldnt be 2011-11-04T14:46:41 only the ruby guys :D 2011-11-04T14:47:15 xD 2011-11-04T14:47:51 but if you use it for every ant to find long paths every turn 2011-11-04T14:48:00 and you have 300 ants 2011-11-04T14:48:04 the sulution shuld be realy simple though, just alculate diffrent resulution maps to let a* work on. 2011-11-04T14:48:07 you may start to have some problem 2011-11-04T14:48:10 problems* 2011-11-04T14:48:23 and you should remember that 300 ants work much better if they are blocking something 2011-11-04T14:48:32 instead of running around 2011-11-04T14:48:37 :P 2011-11-04T14:48:50 (yes, it's a reference to 300) 2011-11-04T14:49:00 yeah, well there realy is no need to do A* on ful resolution on more then the nerest 8 by 8 sqares, the rest can be zone calculated. 2011-11-04T14:49:54 pedrosorio: spartan ants is imba.. 2011-11-04T14:50:16 a* scans soo little tiles, theres no need imho to coarsen your grid 2011-11-04T14:50:47 you should switch laguages if it proves inadequate 2011-11-04T14:51:06 I'd use a better heuristic before using multiple resolutions 2011-11-04T14:51:23 jix: hah, ok, hit me 2011-11-04T14:51:29 hm? 2011-11-04T14:51:40 an example of a "better heuristics" 2011-11-04T14:51:44 isbric: can you imagine them kicking enemy ants into their own hill? xD 2011-11-04T14:52:03 *** the-mgt has joined #aichallenge 2011-11-04T14:52:11 mcstar: if you compute a lot of paths you can precalculate some distance maps and use the triangle inequality 2011-11-04T14:52:31 should stop you from entering most dead ends 2011-11-04T14:53:00 i dont understand that last sentence 2011-11-04T14:53:10 ah k 2011-11-04T14:53:12 shit 2011-11-04T14:53:16 i read dead ants 2011-11-04T14:53:48 well, yeah, on maze maps you can exclude much region 2011-11-04T14:54:06 but these algorithms are really fast, i dont see the need for these tricks 2011-11-04T14:54:25 I'm not that far yet so I have no idea whether I need this stuff 2011-11-04T14:55:06 *** Antimony has quit IRC (Ping timeout: 258 seconds) 2011-11-04T14:55:19 one of the challenges will be pruning the battle tree 2011-11-04T14:55:42 tops bots' owners dont talk about it i guess 2011-11-04T14:56:24 ah yeah 2011-11-04T14:56:37 and evaluating the battle resolution on the leafes 2011-11-04T14:56:39 and nodes 2011-11-04T14:56:44 i was doing some benchmarks 2011-11-04T14:56:49 let me remember 2011-11-04T14:57:20 *** tmandry has joined #aichallenge 2011-11-04T14:57:20 *** tmandry has joined #aichallenge 2011-11-04T14:59:47 10000 iterations of a 2x1 battle situation in 0.4 secs 2011-11-04T15:00:30 *** g0llum has joined #aichallenge 2011-11-04T15:00:42 i.e. checking all possible configurations of the next turn, and evaluating the focus battle resolution on them 2011-11-04T15:00:50 and this is repeated 10000 times 2011-11-04T15:00:55 so it is quite slow 2011-11-04T15:01:19 what are these 10.000 iterations? 2011-11-04T15:01:44 just the same thing, to produce some sane elapsed time 2011-11-04T15:02:00 *** conor_f has quit IRC (Ping timeout: 258 seconds) 2011-11-04T15:02:30 but my code is complicated somewhat 2011-11-04T15:02:37 not as clean as could be 2011-11-04T15:03:01 i tried to be "generic" in the way of enumarating possibilities 2011-11-04T15:03:09 *** Antimony has joined #aichallenge 2011-11-04T15:03:37 if i add more steps, the time will drastically increase 2011-11-04T15:03:44 but i cant yet 2011-11-04T15:04:48 *** mceier has quit IRC (Read error: Operation timed out) 2011-11-04T15:07:52 weird 2011-11-04T15:08:11 i had expected much more interest in game tree evaluation 2011-11-04T15:08:31 *** mceier has joined #aichallenge 2011-11-04T15:08:58 179 logged in, all droids 2011-11-04T15:09:07 (yes me too) 2011-11-04T15:09:30 anyone has an idea on knowing numbers of ants traped in a hill? 2011-11-04T15:09:41 nmalbran_: you can count them 2011-11-04T15:10:25 i just tested counting ants in hill position... but it give only one... 2011-11-04T15:10:36 ? 2011-11-04T15:10:37 *** amstan has joined #aichallenge 2011-11-04T15:10:38 *** ChanServ sets mode: +o amstan 2011-11-04T15:10:41 you made a mistake? 2011-11-04T15:10:54 ah i see 2011-11-04T15:11:07 only 1 ant can occupy a location at any given moment 2011-11-04T15:11:36 yes, i think so... 2011-11-04T15:11:40 what does happen when you and an enemy gather food at the same time? 2011-11-04T15:11:51 (the same food) 2011-11-04T15:11:56 what i meant by counting, you count the amount of food you eat 2011-11-04T15:12:08 they dont 2011-11-04T15:12:08 food get destroyed 2011-11-04T15:12:16 i was thinking on counting food colected... and remove them when an ant leave the hill 2011-11-04T15:12:50 yep, you have the number in a given turn, you have it in another, turn, you know how many have died 2011-11-04T15:13:03 figure it out how many didnt spawn 2011-11-04T15:13:11 thats the amount left in the hill 2011-11-04T15:13:53 good idea :d im trying that, thanks 2011-11-04T15:14:21 *** bilbo has quit IRC (Ping timeout: 265 seconds) 2011-11-04T15:16:29 *** lorill has joined #aichallenge 2011-11-04T15:17:46 *** mleise has quit IRC (Ping timeout: 255 seconds) 2011-11-04T15:19:19 *** AndroUser2 has joined #aichallenge 2011-11-04T15:22:00 *** hjax has joined #aichallenge 2011-11-04T15:22:16 *** HeyChillOut has quit IRC (Ping timeout: 255 seconds) 2011-11-04T15:22:19 i figured out what caused my code to crash after it got its first food :D, finally 2011-11-04T15:24:12 woot, running on tcp server 2011-11-04T15:24:45 I'm confused about the order of expected input/output, the tutorial doesn't show the input and output together sequentially. Input: turn 0, various game variables, ready What is it waiting for me to say to continue? It just times out 2011-11-04T15:25:20 you have to add go at the end 2011-11-04T15:25:37 print a single line that says 'go' after doing whatever setup you want to do in response to the game parameters 2011-11-04T15:25:47 hmm I did that 2011-11-04T15:25:54 *** retybok_ has joined #aichallenge 2011-11-04T15:26:29 Just to test I just had it continually say go regardless so it would just loop through all the turns and my bot wouldn't do anything 2011-11-04T15:26:37 mcstar: didnt work... the currents ants doesnt include ants traped in hills... 2011-11-04T15:26:55 no 2011-11-04T15:26:59 i didnt say it will 2011-11-04T15:27:16 you can only see spawned ants 2011-11-04T15:27:21 you have to keep track of every food you ate, and the least-recently-spawned hill 2011-11-04T15:27:21 exponential growth code doesn't work on mazes, uh oh 2011-11-04T15:27:22 not the buffered ones 2011-11-04T15:27:33 so.... now im trying on counting food collected. 2011-11-04T15:27:34 heres why i need pathfinding http://213.88.39.97:2080/replay.9708 2011-11-04T15:27:49 nmalbran_: "what i meant by counting, you count the amount of food you eat" 2011-11-04T15:28:19 std::cout<<"go" is the correct format right? 2011-11-04T15:28:41 no 2011-11-04T15:28:44 with << endl 2011-11-04T15:28:46 i guess 2011-11-04T15:28:46 hjax: exponential growh is hindered by the ants spawning from a single location 2011-11-04T15:28:49 ah 2011-11-04T15:29:01 it doenst look exponential since they introduced hills 2011-11-04T15:29:30 exponential growth code? 2011-11-04T15:29:32 mcstar, thats true actually, lets say that my exploration code doesnt work then 2011-11-04T15:29:58 if (collected_food/no_of_own_hills) > (max_turns - turn) then never collect food again :) 2011-11-04T15:29:58 ikaros: thanks that did it, I forgot I had to flush it out 2011-11-04T15:30:07 hehe np 2011-11-04T15:30:39 pedrosorio, i am sending ants that don't have anything to do away from the hill to look for more food, well its not working 2011-11-04T15:30:56 *** AndroUser2 has quit IRC (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )) 2011-11-04T15:31:14 "not working" meaning? 2011-11-04T15:31:21 they stay next to the hill 2011-11-04T15:31:25 yup 2011-11-04T15:31:37 pedersorio: see? http://213.88.39.97:2080/replay.9708 2011-11-04T15:31:38 but they stay as in "ignoring your command" 2011-11-04T15:31:39 *** retybok_ has quit IRC (Ping timeout: 260 seconds) 2011-11-04T15:31:40 or they stay 2011-11-04T15:31:45 because they are "stuck" 2011-11-04T15:31:48 they get stuck in endless loops 2011-11-04T15:31:50 or "can't find a way" 2011-11-04T15:31:51 oh 2011-11-04T15:31:54 :) 2011-11-04T15:31:58 up down up down etc 2011-11-04T15:32:02 so perhaps you need to check what you are telling them to do 2011-11-04T15:32:15 if you are processing them in one turn 2011-11-04T15:32:21 and in the next turn 2011-11-04T15:32:35 your code gives them the opposite order... 2011-11-04T15:32:37 :P 2011-11-04T15:32:59 have you checked the visualizing AI state "extension" 2011-11-04T15:33:01 on the forums? 2011-11-04T15:33:07 it could be helpful 2011-11-04T15:33:09 i need to set up a queue system, so i can calculate that my ant needs to go west 5 times, and have it do that without it deciding it should go east 2011-11-04T15:33:10 hjax, you have no randomness there right? so they just go up until they cant and then go down? 2011-11-04T15:33:13 if hjax is hjax than he will figure it out 2011-11-04T15:33:29 mcstar: what do you mean by that? 2011-11-04T15:33:31 hjax, that is a solution 2011-11-04T15:33:45 hjax: you played well last time didnt you? 2011-11-04T15:33:52 but if your code for moving them away from the hills worked 2011-11-04T15:33:58 brb 2011-11-04T15:33:59 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-04T15:34:05 planet wars or ants beta? 2011-11-04T15:34:06 it should work even if you process their state at the beginning of each turn 2011-11-04T15:34:09 pw 2011-11-04T15:34:20 ikaros: could be.... but u can still continu to collect, in order to avoid enemys collecting them and growing his army... 2011-11-04T15:34:41 i was in the top 2000, but i am a lot better now, i used pw to learn python, now im using ants to test my skills 2011-11-04T15:34:43 i vaguely remember looking your nick up, but i could be confusing you with someone else 2011-11-04T15:35:14 hjax is too short for the game, im todd200 there 2011-11-04T15:35:25 todd? 2011-11-04T15:35:38 ive known a wraith called todd 2011-11-04T15:35:58 hjax did you notice the game ends because your code times out? 2011-11-04T15:36:00 mmm 2011-11-04T15:36:28 pedro, i fixed that problem, but it wasnt the problem causing the endless loops 2011-11-04T15:37:02 actually im Kevintkonrad on ants 2011-11-04T15:37:09 i was Todd200 on pw 2011-11-04T15:38:00 *** n4nd0 has joined #aichallenge 2011-11-04T15:38:31 can we get to work user C++ bot with support for C++0x?? 2011-11-04T15:38:48 I just uploaded one and it didn't get to compile correctly 2011-11-04T15:39:05 yep!!! 2011-11-04T15:39:20 use .cccp extension for your sources 2011-11-04T15:39:24 sorry 2011-11-04T15:39:26 .cpp 2011-11-04T15:39:35 oh 2011-11-04T15:39:38 would that make the trick? 2011-11-04T15:39:43 it will 2011-11-04T15:39:49 ok 2011-11-04T15:39:58 cpp for my sources and h for my headers is ok? 2011-11-04T15:40:09 headers doesnt matter afaik 2011-11-04T15:40:28 dont* 2011-11-04T15:40:39 im rewriting my exploration code, with optimization for mazes 2011-11-04T15:40:47 *** Cyb has joined #aichallenge 2011-11-04T15:41:01 if it can go more than 3 spaces in a straight line 2011-11-04T15:41:08 then it will go that way 2011-11-04T15:41:56 and ill keep track of where it has been so it doesnt backtrack, and i need to add some anti suicide code 2011-11-04T15:42:52 *** pedrosorio has quit IRC (Ping timeout: 265 seconds) 2011-11-04T15:42:59 hehe 2011-11-04T15:43:16 i was experimenting with that logic at the very beginning 2011-11-04T15:43:18 it sucked all the way 2011-11-04T15:43:21 *** Hexren has joined #aichallenge 2011-11-04T15:43:27 *** pedrosorio has joined #aichallenge 2011-11-04T15:43:28 like in may 2011-11-04T15:43:38 morning :) 2011-11-04T15:43:40 I have been chatting here for days 2011-11-04T15:43:46 but I haven't written a line of code for my bot 2011-11-04T15:43:48 *** ikaros has joined #aichallenge 2011-11-04T15:43:49 since I submitted it 2011-11-04T15:43:55 (24th October) 2011-11-04T15:43:57 xD 2011-11-04T15:44:24 is there a nice way to get debug info from the challenge server ? I'd like to know how long a certain function takes on the server 2011-11-04T15:45:23 and the easiest way I see right now is coding a binary display using ants, which is kinda cool but not very user friendly 2011-11-04T15:46:07 lol 2011-11-04T15:46:17 Hexren, or you can ask one of the admins 2011-11-04T15:47:01 not sure I want to bother someone every time I want to know if _this_ litle change changed anything significant ;) 2011-11-04T15:47:28 what lnagauage are you using? 2011-11-04T15:47:41 language* 2011-11-04T15:47:56 python 2011-11-04T15:48:11 *** malloc_ has quit IRC (Ping timeout: 265 seconds) 2011-11-04T15:48:14 ah me too 2011-11-04T15:48:20 *** Antimony has quit IRC (Ping timeout: 276 seconds) 2011-11-04T15:48:44 *** mwang has quit IRC (Quit: Page closed) 2011-11-04T15:49:10 what are you using for pathfinding ? 2011-11-04T15:49:16 i need to implement a rather complex queue system and exploration code >.>, the queue has to keep track of which way an ant needs to go, where it came from etc 2011-11-04T15:49:18 *** conor_f has joined #aichallenge 2011-11-04T15:49:38 Hexren, im going to use bfs later, right now i have no pathfinding 2011-11-04T15:50:00 have you already tried bfs on the data ? 2011-11-04T15:50:38 my Dijkstra needs about 30 ms on an 100*100 field 2011-11-04T15:51:01 i have not, bfs is going to be pretty expensive, im only going to use it for two things: corners, and ninjaing around enemy ants to capture hills 2011-11-04T15:51:04 which doesnt sound all that practical for turns that only last 500ms 2011-11-04T15:51:18 turns last 1000ms i thought 2011-11-04T15:51:31 my A* takes about 10ms average per ant on the map play_one_game is loaded with by default. 2011-11-04T15:51:34 *** userjjb has quit IRC (Ping timeout: 265 seconds) 2011-11-04T15:51:58 hjax: in oficial server, timeturn is half second... 2011-11-04T15:52:08 right now the challenger server has turns lasting 500ms 2011-11-04T15:52:10 nmalbran: really, did not know that 2011-11-04T15:52:18 I didn't either ... 2011-11-04T15:52:26 hjax: http://aichallenge.org/game_settings.php 2011-11-04T15:52:27 mcstar, don't get even to compile in my machine after the change to cpp 2011-11-04T15:52:43 datachomper, which language is that in ? 2011-11-04T15:52:46 mcstar, does that extension imply something more? I have always used .cc 2011-11-04T15:52:57 the extension only matters on the server 2011-11-04T15:53:00 Hexren: you shouldn't be thinking in those terms 2011-11-04T15:53:00 Hexren: python with networkx 2011-11-04T15:53:05 Hexren: you should have a timer instead 2011-11-04T15:53:24 n4nd0: gcc should recognize .cc .cpp as c++ code 2011-11-04T15:53:30 you have to provide the standard to it 2011-11-04T15:53:38 what shall we do with a timer ? 2011-11-04T15:53:39 -std=c++0x 2011-11-04T15:53:41 3 seconds for an initial load? hmm i could do some initial processing of of the map in that time 2011-11-04T15:53:42 or sme similar 2011-11-04T15:53:46 some* 2011-11-04T15:54:05 *** epicmonkey has quit IRC (Ping timeout: 240 seconds) 2011-11-04T15:56:13 i do some benchmarks during loadtime 2011-11-04T15:56:25 so that I can estimate how far I can afford to look 2011-11-04T15:56:46 mcstar, I don't know something weird happened when I changed the ext 2011-11-04T15:57:17 mcstar, my makefile now is not using the options after CFLAGS 2011-11-04T15:57:33 mcstar, but the ones defined as LDFLAGS 2011-11-04T15:58:12 hjax: but you do not know the map at that point 2011-11-04T15:58:17 *** dwins has quit IRC (Ping timeout: 252 seconds) 2011-11-04T15:58:28 n4nd0: pastebin the makefile? 2011-11-04T15:58:51 mcstar, pastebin? I don't understand that, sorry 2011-11-04T15:58:59 pastebin.com 2011-11-04T16:00:03 *** svujic has joined #aichallenge 2011-11-04T16:00:21 mmh, I don't understand timeout on tcpservers like fluxid 2011-11-04T16:00:36 I force my bot to play with 1000ms instead of the 5000provided 2011-11-04T16:00:42 my log shows that I end the turn 2011-11-04T16:00:48 and I still timeout way too often 2011-11-04T16:01:01 mcstar, http://pastebin.com/rTBZySmt 2011-11-04T16:01:11 I don't think my netlag could make me lose 4s ? 2011-11-04T16:01:33 OBJECTS=$(SOURCES:.cc=.o) 2011-11-04T16:01:53 .cc.o: *.h 2011-11-04T16:01:56 $(CC) $(CFLAGS) $< -o $@ 2011-11-04T16:01:57 *** dwins has joined #aichallenge 2011-11-04T16:02:00 lorill: more likely your code is getting stuck somewhere and never finishing its turn 2011-11-04T16:02:05 no 2011-11-04T16:02:07 you need to change everywhere 2011-11-04T16:02:11 I log the end of turn 2011-11-04T16:02:19 lorill: dont pay attention to him 2011-11-04T16:02:26 and I don't timeout either playing locally or in the official server 2011-11-04T16:02:38 those timeouts happend for me two for no apparent reason 2011-11-04T16:02:50 :D 2011-11-04T16:03:10 *** Murashka has quit IRC (Ping timeout: 265 seconds) 2011-11-04T16:03:13 oh :-( 2011-11-04T16:03:41 n4nd0: roger? 2011-11-04T16:03:42 well, I don't care about the rating too much, but it's frustrating to skip so many games like this 2011-11-04T16:04:10 i dont timeout on tcp servers... my bot crashes and then timeouts though 2011-11-04T16:05:38 *** HaraKiri has joined #aichallenge 2011-11-04T16:07:08 *** retybok_ has joined #aichallenge 2011-11-04T16:08:52 *** Antimony has joined #aichallenge 2011-11-04T16:09:57 *** lorill has quit IRC (Quit: Page closed) 2011-11-04T16:10:10 mcstar, I changed and managed to compile a bit more 2011-11-04T16:10:17 mcstar, but know I am getting more errors 2011-11-04T16:10:46 mcstar, of the type undefined reference to `std::basic_ostream >::put(char)' 2011-11-04T16:11:06 change CC to g++ 2011-11-04T16:11:29 mcstar, perfect 2011-11-04T16:11:51 mcstar, I guess that is what happens when trying to compile c++ code with a c compiler 2011-11-04T16:12:09 mcstar, thank you very much and sorry for the stupid mistakes! 2011-11-04T16:12:20 mcstar, let's see if I get to compile now in the server 2011-11-04T16:12:21 it doesnt find the headers 2011-11-04T16:12:39 *** wpupkin has joined #aichallenge 2011-11-04T16:13:33 n4nd0: umm 2011-11-04T16:13:39 n4nd0: hold on.. that make file is bad 2011-11-04T16:14:04 amstan, why? 2011-11-04T16:14:05 amstan: i told him already 2011-11-04T16:14:07 n4nd0: running make clean will delete your cpp files, i suggest getting a new version of the started bot for the fix 2011-11-04T16:14:13 you still have .cc references there 2011-11-04T16:14:13 *** LouisMartin has joined #aichallenge 2011-11-04T16:14:33 amstan, I realized of that and removed the clean rule to avoid that 2011-11-04T16:14:48 amstan, not very practical but I won't make a mess 2011-11-04T16:14:56 n4nd0: the problem is not with the clean rule, it's with line 5 2011-11-04T16:15:24 I changed that to .cpp 2011-11-04T16:15:33 https://github.com/aichallenge/aichallenge/blob/epsilon/ants/dist/starter_bots/cpp/Makefile 2011-11-04T16:15:45 *** Kaizou has joined #aichallenge 2011-11-04T16:16:19 amstan, do you recommend me to modify that one to work with cpp ext? 2011-11-04T16:16:34 n4nd0: that one already works with cpp now 2011-11-04T16:16:37 Greeting Bot coders. :) 2011-11-04T16:16:39 n4nd0: just use that directly 2011-11-04T16:16:47 amstan, ok, thank you! 2011-11-04T16:17:09 you'll still have to customize your flags and sources, but that's easy 2011-11-04T16:18:09 anyone here in C# that wish they could debug (trace, live modification etc) while the game runs? 2011-11-04T16:18:26 LouisMartin: are you offering to guide them? 2011-11-04T16:18:53 amstan: Yes. 2011-11-04T16:19:07 LouisMartin: I suggest writing a wiki article about it: https://github.com/aichallenge/aichallenge/wiki 2011-11-04T16:19:32 LouisMartin: if most of your tutorial can be applied to other languages too(like C), would you be open to making a general tutorial 2011-11-04T16:19:33 *** Anonymous____ has joined #aichallenge 2011-11-04T16:19:36 that way we can include it on the site 2011-11-04T16:20:05 Ok, I'll take a look. The process is long and there's many detail, but a overall picture of the solution would be good enough. 2011-11-04T16:20:29 LouisMartin: thanks 2011-11-04T16:20:46 amstan: it only applies to C# and (probably VB, but can't be sure) 2011-11-04T16:20:46 Doing A* for every ant turns out to be a bad strategy, even with route caching :OP 2011-11-04T16:21:06 datachomper: from a performance viewpoint? 2011-11-04T16:21:16 LouisMartin: Yep 2011-11-04T16:21:35 datachomper: in which language are you working? 2011-11-04T16:21:43 python with networkx 2011-11-04T16:21:55 LouisMartin: ok 2011-11-04T16:22:19 ok, I don't know Python (or networkx which I guess is a library) 2011-11-04T16:22:38 It's a graphing library, yea 2011-11-04T16:22:38 but in C# I A* does very well 2011-11-04T16:22:52 *** n4nd0 has quit IRC (Ping timeout: 244 seconds) 2011-11-04T16:23:00 What's your average compute time for A* paths? 2011-11-04T16:23:39 i cant miss this: dijkstra, 12000 times finds a 60 step long path in 1 sec on a maze map 2011-11-04T16:23:47 You need to keep the route in memory and only recalculate them if they're broken (if (can't make the next move because farther from 1 tile) reprocess path) 2011-11-04T16:23:56 *** pairofdice has joined #aichallenge 2011-11-04T16:24:15 *** apit has joined #aichallenge 2011-11-04T16:24:25 LouisMartin: sexy parantheses 2011-11-04T16:24:36 *** apit has left #aichallenge 2011-11-04T16:24:38 datachomper: about 2 ms per route in the first 50 turn 2011-11-04T16:25:26 then if gets heavier, but not too much 2011-11-04T16:26:38 if it does, I cache even more: if I can't make the next move, I recalculate on the moves from where the ant is to where the path begins, and save a bunch on my gecko insurance 2011-11-04T16:27:43 *** analyst74 has joined #aichallenge 2011-11-04T16:27:59 *** dwins has quit IRC (Ping timeout: 252 seconds) 2011-11-04T16:29:23 that said, you need to know 2 things: 1) C# if faster than Python. 2) The A* code I have is simply awesome. It use a few tricks/optimization that aren't part of the A* usual specs 2011-11-04T16:29:49 i'm using A* with python but i always end timing out. But i'm not sure it is because of A*. Maybe the other parts of my code are too long 2011-11-04T16:29:54 mcstar: Thanks. 2011-11-04T16:30:21 *** retybok_ has quit IRC (Ping timeout: 256 seconds) 2011-11-04T16:30:35 *** n4nd0 has joined #aichallenge 2011-11-04T16:31:21 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-04T16:31:47 *** ikaros has joined #aichallenge 2011-11-04T16:31:51 *** hjax has quit IRC (Quit: Page closed) 2011-11-04T16:32:15 *** Migi32 has joined #aichallenge 2011-11-04T16:32:28 *** twymer has quit IRC (Ping timeout: 255 seconds) 2011-11-04T16:33:36 f, i was searching in the last 5 mins for an elusive bug 2011-11-04T16:33:55 i inadvertantly deleted an inequality 2011-11-04T16:34:09 mcstar: 5 minutes is lucky 2011-11-04T16:34:19 i was going crazy 2011-11-04T16:34:39 i thought i did change anything, but my bot started playing like shat against a prev. build of itslef 2011-11-04T16:34:43 mcstar: not sure about your problem, but it probably needs more parenthesis 2011-11-04T16:34:44 i didnt* 2011-11-04T16:34:56 lisp? 2011-11-04T16:35:00 haha 2011-11-04T16:35:02 *** romainpomier has joined #aichallenge 2011-11-04T16:35:05 no, c++ 2011-11-04T16:35:07 Okay so my bts surround the hills but not raze them 2011-11-04T16:35:19 i just commented out a region, than commented bakc 2011-11-04T16:35:32 if(minVal > val and val > 0.0){ 2011-11-04T16:35:36 if(minVal and val > 0.0){ 2011-11-04T16:35:46 isn't it just great how easy it is to break AI code? sigh 2011-11-04T16:35:57 yep 2011-11-04T16:35:57 *** romainpomier has quit IRC (Remote host closed the connection) 2011-11-04T16:36:15 *** romainpomier has joined #aichallenge 2011-11-04T16:36:23 Ahh, found it 2011-11-04T16:37:02 Git Gui saves my sanity by a little every time I sc*** up 2011-11-04T16:37:12 LouisMartin: why does it take 2ms? 2011-11-04T16:37:23 mine roughly take 0.09 ms than 2011-11-04T16:37:47 and 60 steps are pretty long 2011-11-04T16:37:54 anyone using haskell? 2011-11-04T16:37:56 and it isnt even a*, only dijkstra 2011-11-04T16:38:11 i need someone to take a look at this issue: https://github.com/aichallenge/aichallenge/pull/317 2011-11-04T16:38:26 amstan: now i understand the pull process 2011-11-04T16:38:31 mcstar: great! 2011-11-04T16:38:37 you outsource! 2011-11-04T16:38:43 mcstar: exactly 2011-11-04T16:38:50 amstan: I had haskell code where -O and -O2 made a huge difference 2011-11-04T16:39:43 *** romainpomier has quit IRC (Remote host closed the connection) 2011-11-04T16:39:52 *** romainpomier has joined #aichallenge 2011-11-04T16:40:40 amstan: any chance to get 21:37 <@amstan> anyone using haskell? 2011-11-04T16:40:44 paste fail 2011-11-04T16:41:03 any chance to get -P:continuations:enable option to added scalac? 2011-11-04T16:41:11 *** Accoun has quit IRC () 2011-11-04T16:41:12 mcstar: Could be many things. One could be the language it's implemented into (compilation vs interpretation). Our computers could be of different processing power. The code I have is a beautiful thing and it probably count for a lot even though I couldn't tell you exactly what are the tricks and optimizations has I didn't wrote that part. 2011-11-04T16:42:01 amstan: but it is true that you can override the optimization setting using a pragma in the haskell source files 2011-11-04T16:42:23 well, my cpu is dead slow, and c# is compiled 2011-11-04T16:42:28 and strongly typed 2011-11-04T16:42:34 it is fair to compare it to c++ 2011-11-04T16:43:07 i saw a benchmark between the two languages, c++ was almost always faster, but c# was not bad 2011-11-04T16:43:20 bad interestingly it had way faster hashtables 2011-11-04T16:43:49 *** ztfw has quit IRC (Remote host closed the connection) 2011-11-04T16:44:12 *** wpupkin has quit IRC (Quit: Page closed) 2011-11-04T16:45:15 hopps 2011-11-04T16:45:19 nad->but 2011-11-04T16:45:38 im not going to correct that one 2011-11-04T16:46:40 *** Anonymous____ has quit IRC (Ping timeout: 265 seconds) 2011-11-04T16:46:57 jix: in that case i won't bother 2011-11-04T16:46:59 mcstar: Yes, but C++ is faster in many scenarios and those are the kind that usually matter in an AI contest ... C++ > C# for AI 2011-11-04T16:47:21 hm 2011-11-04T16:47:48 that said, you dont think scripting languages stand a chance? 2011-11-04T16:48:00 mcstar: pypy? 2011-11-04T16:48:16 or cpython? 2011-11-04T16:48:29 amstan: you need to convince LouisMartin not me 2011-11-04T16:48:44 he said c++ is more prefereable than c# for this thing 2011-11-04T16:48:52 *** twymer has joined #aichallenge 2011-11-04T16:48:56 In C# Im trying to begin programming. Is there a simple way to get all the files into a single solution? (Currently intelli-sense is not working properly) 2011-11-04T16:48:57 LouisMartin: pypy has some tests that are faster that even C 2011-11-04T16:49:07 well, the difference is much smaller between the two than between c# and a scripting language 2011-11-04T16:49:08 *** Berntzen has joined #aichallenge 2011-11-04T16:50:39 amstan: but having -P:continuations:enable for scalac would be nice 2011-11-04T16:51:18 it shouldn't affect any existing code (neither semantically nor performance wise) but enables the continuation features for those who want to use it 2011-11-04T16:53:43 LouisMartin: for AI contest the most important thing is brain 2011-11-04T16:55:15 and i imagine c# is more succint than c++ 2011-11-04T16:55:16 :P 2011-11-04T16:55:16 no the characters after C in your language 2011-11-04T16:55:16 mcstar: I don't have an educated opinion about it. The ranking so far don't support such an hypothesis. 2011-11-04T16:55:17 *** cherio has joined #aichallenge 2011-11-04T16:55:17 LouisMartin, what hypothesis? 2011-11-04T16:55:17 amstan: pypy = Python, or something related? 2011-11-04T16:55:17 LouisMartin: pypy is python implemented in python 2011-11-04T16:55:17 it's a JIT compiler basically 2011-11-04T16:55:17 LouisMartin: it's fast because it can do some crazy optimizations 2011-11-04T16:55:17 foRei: your question is too abstract, please reformulate it 2011-11-04T16:55:17 perhaps people coding in c++ in this contest are more skilled than the ones using c# in general 2011-11-04T16:55:17 I think I read a post about the ranking of people that submitted bots for a previous contest 2011-11-04T16:55:18 mcstar: no doubt (about the diff) 2011-11-04T16:55:18 and java was pretty much all over the place 2011-11-04T16:55:18 whereas lisp contestants had much better ranking on average 2011-11-04T16:55:18 pedosorio: that interpreted language don't stand a chance in the contest. I disagree with this hypothesis so far and so does the current ranking. 2011-11-04T16:55:18 anyway, im gonna try f# probably if i will have the time 2011-11-04T16:55:19 amstan: okay. Python looks good, so I'm glad it can also perform. It's one of my many "probably one day" thing to look at it. 2011-11-04T16:55:19 LouisMartin: also.. haskell is good stuff too 2011-11-04T16:55:19 LouisMartin: who said interpreted languages don't stand a chance? 2011-11-04T16:55:20 pedrosorio: nobody, but some had questioning about it 2011-11-04T16:55:41 hehe 2011-11-04T16:55:57 LouisMartin I downloaded the C# Starter package. Im trying to get intelli-sense in Visual Studio to work. I think it is "broken" because the files are not linked together in a project 2011-11-04T16:55:57 i asked LouisMartin what is HIS opinion about it, in the light of his previous comment 2011-11-04T16:56:34 amstan: Haskell is even higher on my list to learn as I feel I could benefit from getting into the functional paradigm 2011-11-04T16:56:42 its interesting to see the "transmutation" of ideas, in a written medium :D 2011-11-04T16:56:59 If I run out of stupid mistakes to do in Python I'll look into other languages 2011-11-04T16:57:05 *** retybok_ has joined #aichallenge 2011-11-04T16:58:11 foRei: Is this one of your first programming experience? 2011-11-04T16:58:15 *** dwins has joined #aichallenge 2011-11-04T16:58:49 *** Relax has quit IRC (Quit: Leaving) 2011-11-04T16:59:37 *** amstan_ has joined #aichallenge 2011-11-04T16:59:37 *** ChanServ sets mode: +o amstan_ 2011-11-04T16:59:43 LouisMartin, no I've done some stuff, but Im afraid to break the starter package by adding the files into a new project... I just tried to do that, it makes intelli-sense work 2011-11-04T16:59:57 foRei: I'm not answering your question eh? okay, so here's the answer: you need to create a new C# CONSOLE project. Then get rid of class1.cs and add the starter pack files to the root of your project with "Add existing files" 2011-11-04T17:00:16 Ah right, I just did that, thanks =) 2011-11-04T17:00:35 *** amstan has quit IRC (Ping timeout: 260 seconds) 2011-11-04T17:00:53 amstan: should I do a pull request if I want that scalac flag? 2011-11-04T17:01:05 foRei: it's the right thing to do as long as it's a Console project, not a Windows Form or WPF project. Also, when you upload your files on the contest server, only upload the .CS files. 2011-11-04T17:02:01 foRei: One last thing: As the guide line indicate, don't change the name of the file MyBot.cs (not sure about changing the class name of MyBot..) 2011-11-04T17:02:46 Good info, greatly appreciated :) 2011-11-04T17:04:29 foRei: LM: You can change the class name to your liking 2011-11-04T17:05:29 the only requirement is to have MyBot.ext that can be run and can communicate with the server. everything else is up to you 2011-11-04T17:05:33 Berntzen: ok, thanks 2011-11-04T17:06:58 *** romainpomier_ has joined #aichallenge 2011-11-04T17:07:53 *** olexs has joined #aichallenge 2011-11-04T17:08:25 *** amstan_ is now known as amstan 2011-11-04T17:08:28 jix: yes 2011-11-04T17:09:32 *** olexs has quit IRC (Client Quit) 2011-11-04T17:10:30 *** romainpomier has quit IRC (Ping timeout: 260 seconds) 2011-11-04T17:10:31 *** romainpomier_ is now known as romainpomier 2011-11-04T17:14:08 *** bergmark has quit IRC (Ping timeout: 245 seconds) 2011-11-04T17:15:47 *** larrydag has joined #aichallenge 2011-11-04T17:15:58 *** art has quit IRC (Quit: Page closed) 2011-11-04T17:16:49 *** Accoun has joined #aichallenge 2011-11-04T17:17:42 aichallenge: Alexandru Stan epsilon * r986beb7 / (5 files): changed permissions to execute python mapgens - http://git.io/2-uqSg 2011-11-04T17:18:03 amstan: I don't have much time, but I think it's still useful. https://github.com/aichallenge/aichallenge/wiki/C%23-and-the-Real-Time-Debugging-and-Visualization-Trick 2011-11-04T17:18:28 *** Fandekasp has quit IRC (Ping timeout: 258 seconds) 2011-11-04T17:19:08 English isn't my first language (no shit!) so it must be a pretty annoying read, but I don't have the courage to edit it right now. 2011-11-04T17:19:10 LouisMartin: copy the markdown you used in reddit, the wiki uses teh same format 2011-11-04T17:20:03 amstan: there was no markdown in my post 2011-11-04T17:20:19 amstan: didn't realized I lost the formatting, 2 sec 2011-11-04T17:20:19 LouisMartin: it's just that the formatting in your wiki page is much worse than the reddit one 2011-11-04T17:20:30 yeah, just copy the code from reddit, should display the same 2011-11-04T17:21:09 ups, hills are sent all the time 2011-11-04T17:22:19 *** olexs has joined #aichallenge 2011-11-04T17:22:54 Better? https://github.com/aichallenge/aichallenge/wiki/C%23-and-the-Real-Time-Debugging-and-Visualization-Trick 2011-11-04T17:22:58 *amstan 2011-11-04T17:23:18 Next game should be within 151.2 minutes. Is there any way to make the bot play just 1 game to see behavior? 2011-11-04T17:23:30 LouisMartin: looks ok, now make that page popular enough that other people want to add to it 2011-11-04T17:23:43 you can try the forums 2011-11-04T17:23:46 foRei: use the toolkit to run fights locally, or use a tcp server 2011-11-04T17:24:02 foRei. tutorial explains 2011-11-04T17:24:07 I'll find the local thingy, ty :) 2011-11-04T17:24:39 I'll post the link in the forums 2011-11-04T17:24:44 *** tasdomas has joined #aichallenge 2011-11-04T17:25:13 hi 2011-11-04T17:25:25 *** Fandekasp has joined #aichallenge 2011-11-04T17:25:42 when playing the game locally, is it possible to find out why the game ended - i.e. what the end condition was? 2011-11-04T17:26:06 Amstan: I'll try the forum. I didn't link the article in the table of content. I'll leave this to your discretion. 2011-11-04T17:26:33 tasdomas, run it from the command line 2011-11-04T17:27:03 LouisMartin: ok, cool 2011-11-04T17:27:17 *** caution has quit IRC (Quit: caution) 2011-11-04T17:27:33 what is "rankstabilizedextendeddifferent"? 2011-11-04T17:28:07 *** Ionic_Groove has quit IRC (Ping timeout: 252 seconds) 2011-11-04T17:29:04 *** tobym has quit IRC (Remote host closed the connection) 2011-11-04T17:30:03 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-04T17:31:00 amstan: the forum accounts aren't the same as the main site accounts? 2011-11-04T17:31:20 or am I having memory problems still again? 2011-11-04T17:31:30 LouisMartin: they aren't 2011-11-04T17:31:37 ok 2011-11-04T17:34:57 *** Berntzen has quit IRC (Quit: Page closed) 2011-11-04T17:35:25 *** Palmik has quit IRC (Remote host closed the connection) 2011-11-04T17:39:08 *** HaraKiri has quit IRC () 2011-11-04T17:40:21 *** retybok_ has quit IRC (Ping timeout: 258 seconds) 2011-11-04T17:41:13 *** Antimony has joined #aichallenge 2011-11-04T17:42:29 amstan: done. btw, is there another contest in the planning for after this one? 2011-11-04T17:42:57 LouisMartin: yes, but we don't have a game idea yet 2011-11-04T17:43:06 suggestions welcome on the forums 2011-11-04T17:44:02 amstan: okay 2011-11-04T17:45:01 *** larrydag has left #aichallenge 2011-11-04T17:46:16 *** retybok_ has joined #aichallenge 2011-11-04T17:47:11 In focus battle resolution, how are water tiles influencing the outcome? Is this as simple as - no matter the distance - there's not focus in effect between 2 ants if those 2 ants has a clear way between them? 2011-11-04T17:48:08 Then one would only need to check if a unobstructed ray can be traced between those 2 ants to determine if there's a focus between them? 2011-11-04T17:50:28 *** RumiK_ has joined #aichallenge 2011-11-04T17:51:05 amstan, you're probably the best person online to answer this question 2011-11-04T17:52:14 LouisMartin, from the specification there doesn't seem to be any influence of water tiles on this 2011-11-04T17:52:18 (the battle) 2011-11-04T17:52:26 LouisMartin: i'm not 2011-11-04T17:52:29 LouisMartin: antimatroid is 2011-11-04T17:52:32 or mcleopold 2011-11-04T17:52:44 amstan: they're online? 2011-11-04T17:52:47 idk 2011-11-04T17:52:56 i think ants can fight over water 2011-11-04T17:53:13 pedro: I know, but have you seen ants killing each other through water? can't remember having seen that 2011-11-04T17:53:30 LouisMartin: Yes, I have 2011-11-04T17:53:31 doesn't mean it doesn't happen, just that I can't remember 2011-11-04T17:53:42 *** ThmzV has joined #aichallenge 2011-11-04T17:53:53 although I can't provide a link to a specific game now 2011-11-04T17:54:12 (and it seems my bot is playing at this moment in the official server) 2011-11-04T17:54:24 pedro: yes? is this the rule or the exception? intuition tells me the maze games would got a lot of that... 2011-11-04T17:54:38 you're likely to find it in a map where you have thin "walls" 2011-11-04T17:55:27 pedro: ah.. so those imperfection in the walls could be exploited as "meutriere". interesting 2011-11-04T17:55:38 pedro: thanks 2011-11-04T17:58:19 http://aichallenge.org/visualizer.php?game=57823 2011-11-04T17:58:28 turn 566 2011-11-04T17:58:29 want to declare a 2d vector of size [rows][cols] 2011-11-04T17:58:31 vector > cost_map(rows, vector(cols)); 2011-11-04T17:58:33 in the middle of the map 2011-11-04T17:58:34 is what I have 2011-11-04T17:58:42 green vs orange ant 2011-11-04T17:58:46 *** choas has joined #aichallenge 2011-11-04T17:58:53 compiler says 'rows' is not a type 2011-11-04T17:59:19 conor_f and indeed it isn't 2011-11-04T17:59:22 LouisMartin: i dont think you can resolve a battle situation in less code/logic than that is on the wiki 2011-11-04T17:59:30 and water doesnt matter 2011-11-04T17:59:40 vector(cols)? 2011-11-04T17:59:40 unless you have defined a type in c++ named rows 2011-11-04T17:59:51 s/cols/rows 2011-11-04T18:00:07 *** the-mgt has quit IRC (Quit: the-mgt) 2011-11-04T18:00:11 *? 2011-11-04T18:00:22 is that supposed to be the declaration of a function? 2011-11-04T18:00:22 *** g0llum has quit IRC (Read error: Connection reset by peer) 2011-11-04T18:00:43 no, the decleration of a 2d vector of ints size rows, cols 2011-11-04T18:00:49 *** g0llum has joined #aichallenge 2011-11-04T18:01:27 mcstar: right, but it's not about resolving but predicting, evaluating options etc. but I thought water was influencing the focus battle resolution. I've come to think of them as stone walls for some reasons. 2011-11-04T18:01:31 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has joined #aichallenge 2011-11-04T18:01:42 *** g0llum has quit IRC (Read error: Connection reset by peer) 2011-11-04T18:01:56 *** g0llum has joined #aichallenge 2011-11-04T18:02:38 my opinion is that from an evaluation function standpoint, the focus battle resolution is very costly and complicated 2011-11-04T18:02:50 that is a good thing for a contest 2011-11-04T18:03:08 *** mikepavone has joined #aichallenge 2011-11-04T18:03:10 sure 2011-11-04T18:07:44 vector > cost_map(rows, vector(cols, 0)); 2011-11-04T18:07:54 std::vector > foo(5, std::vector(4, 3)); 2011-11-04T18:08:14 I don't see the difference, yet one is correct and the other isn't :/ 2011-11-04T18:09:20 *** paulwal has joined #aichallenge 2011-11-04T18:10:17 whats the problem? 2011-11-04T18:10:46 k i see 2011-11-04T18:10:50 *** epicmonkey has joined #aichallenge 2011-11-04T18:11:16 share? 2011-11-04T18:11:25 conor_f: Well, what does your error tell you? 2011-11-04T18:11:37 *** twymer has quit IRC (Ping timeout: 252 seconds) 2011-11-04T18:11:43 a good few things 2011-11-04T18:11:54 error: expected identifier before ‘(’ token 2011-11-04T18:11:54 MyBot.cpp:204:56: error: expected ‘)’ before ‘,’ token 2011-11-04T18:12:01 and a second one of line 2 2011-11-04T18:12:18 don't know why though :/ rows and cols are both int variables... 2011-11-04T18:12:30 *** g0llum has quit IRC (Read error: Connection reset by peer) 2011-11-04T18:12:42 you need to look up what are the constructors of these classes 2011-11-04T18:12:48 they arent what you think they are 2011-11-04T18:13:05 I'm looking at it on cplusplus 2011-11-04T18:13:10 k 2011-11-04T18:13:10 conor_f: Sizes are normally unsigned types. 2011-11-04T18:13:29 Not that it's necessarily the problem at hand. 2011-11-04T18:14:09 vector(cols, 0) 2011-11-04T18:14:16 cols supposed to be an array of ints 2011-11-04T18:14:19 contestbot: seen antimatroid 2011-11-04T18:14:19 amstan: antimatroid was last seen in #aichallenge 3 hours, 34 minutes, and 43 seconds ago: that way you collect the food closest to your ants first 2011-11-04T18:14:29 and you take 0 elemnts from it to form the vector 2011-11-04T18:14:29 anyone know the time in australia? 2011-11-04T18:14:32 how many of those 8750 users have bots that do anything useful? 2011-11-04T18:14:49 amstan: -8 hours? 2011-11-04T18:15:01 09:14:59 EDT 2011-11-04T18:15:06 plus 2011-11-04T18:15:09 *** mceier has quit IRC (Quit: leaving) 2011-11-04T18:15:30 google calculator should support timezones 2011-11-04T18:15:39 stupid aichallenge usoslow 2011-11-04T18:15:48 yu 2011-11-04T18:16:03 mcstar: I really don't get it 2011-11-04T18:16:13 *** Jak_o_Shadows has joined #aichallenge 2011-11-04T18:16:18 how come the first e.g I pasted was invalid and the second was valid? 2011-11-04T18:16:20 conor_f: sry, with 2 parameters, you have 2 iterators, in this case pointers 2011-11-04T18:16:25 in an int array 2011-11-04T18:16:32 I have the best bot in my country 2011-11-04T18:16:37 I guess that's something to be proud of :P 2011-11-04T18:16:37 today i've got 7 games, cool 2011-11-04T18:16:50 and the vector is initialized with the elements between them, inclusive, exclusive 2011-11-04T18:17:00 last time three games within three minutes, lol 2011-11-04T18:17:10 no, four within 20 minutes 2011-11-04T18:17:27 10 minutes* 2011-11-04T18:17:54 conor_f: sry again, i see you can initialize with non-iterator types 2011-11-04T18:18:04 yeah 2011-11-04T18:18:50 conor_f: i will try a 2d vector, 1 sec 2011-11-04T18:19:22 so how come vector > foo(1, vector(2, 0)); is valid while vector > foo(bar, vector(foobar, 0)); is invalid? 2011-11-04T18:20:39 mcstar: There's a ctor for N,default too. 2011-11-04T18:20:53 mcstar: If your parameters are ambigious enough though, that'll kind of fail miserably. 2011-11-04T18:21:22 conor_f: Sizes are not int. 2011-11-04T18:21:26 Int, for one, is signed. 2011-11-04T18:21:30 Sizes aren't :D 2011-11-04T18:21:54 so if I cast them to (signed), would it work? 2011-11-04T18:22:04 *** ecarpenter84 has joined #aichallenge 2011-11-04T18:22:35 hmm, got rid of one error 2011-11-04T18:23:03 ok, so far its ok 2011-11-04T18:23:07 now im gonna break it 2011-11-04T18:23:22 *** foRei has quit IRC (Read error: Connection reset by peer) 2011-11-04T18:23:26 *** the-mgt has joined #aichallenge 2011-11-04T18:23:46 hm, works with signed int sizes 2011-11-04T18:24:18 ok 2011-11-04T18:24:26 http://pastebin.com/PgP75hcD 2011-11-04T18:24:51 but this whole thing is very messy 2011-11-04T18:25:16 i would use nested stk vectors to store a statically sized 2d array of ints 2011-11-04T18:25:18 stl* 2011-11-04T18:25:22 http://ideone.com/kULW5 2011-11-04T18:25:29 proof your code works 2011-11-04T18:25:31 amstan: is there anything else I have to do besides the pull request? 2011-11-04T18:25:42 jix: link me? 2011-11-04T18:25:46 ? 2011-11-04T18:25:50 ah 2011-11-04T18:25:52 i know 2011-11-04T18:25:52 :P 2011-11-04T18:25:55 yeah 2011-11-04T18:26:02 I wanted to make sure 2011-11-04T18:26:27 so no ideas? 2011-11-04T18:27:16 with c++11 you can use >> btw 2011-11-04T18:27:28 amstan: https://github.com/aichallenge/aichallenge/pull/353 or something on github? (I haven't used github much) 2011-11-04T18:27:38 and you can use 'for (auto it = vec.begin; ...' 2011-11-04T18:27:43 yep :D 2011-11-04T18:27:44 Zao knows I think, but he won't say whats wrong with it beyond saying sizes are not ints 2011-11-04T18:27:54 begin()* (whatever :P) 2011-11-04T18:27:56 thestinger: i didnt use that though 2011-11-04T18:27:59 jix: is this scala plugin already present on the servers? 2011-11-04T18:28:01 For the love of $deity, don't use 'using namespace std;', you lazy slob, and don't use (void) in function signatures :D 2011-11-04T18:28:05 what is the fastest data structure in python for keeping a graph of the whole map in ants? 2011-11-04T18:28:12 Zao: i always use void 2011-11-04T18:28:14 i need to be able to check if items are in the graph already 2011-11-04T18:28:19 it is romantic 2011-11-04T18:28:23 conor_f: I don't know what's wrong in your particular case, as you have not provided a non-compiling standalone test case. 2011-11-04T18:28:25 amstan: From what I read it should be, but I don't know how to check 2011-11-04T18:28:34 mcstar: I bet you love hysterical raisins. 2011-11-04T18:28:43 conor_f: yep could you upload some code? 2011-11-04T18:28:46 *** mviel has joined #aichallenge 2011-11-04T18:28:47 jix: check setup/worker_setup.py and check on what scala things it installs 2011-11-04T18:28:49 is it guaranteed that game state input on hills will always come before ants? 2011-11-04T18:28:55 jix: assume it starts with a blank ubuntu install 2011-11-04T18:29:13 Zao: you lost me 2011-11-04T18:29:17 paulwal: If you rely on it, I would recommend that you buffer up the input and analyze it in whatever order you like. 2011-11-04T18:29:20 jix: when sure, ping janzert about it, he has to update the workers with the change 2011-11-04T18:29:21 mcstar Zao not exactly, considering I'd have to upload the entire bot 2011-11-04T18:29:22 mcstar: "historical reasons" 2011-11-04T18:29:35 I'll try to make it fail again in a separate file 2011-11-04T18:29:37 conor_f: Part of finding things out is reducing the problem to its essence. 2011-11-04T18:29:41 yeah 2011-11-04T18:29:44 conor_f: If your test case doesn't fail, find the differences. 2011-11-04T18:29:54 i love scents 2011-11-04T18:30:01 that's what I tried to do, but failed at spot the difference too :/ 2011-11-04T18:30:31 i'm relying on it trying to optimize speed, zao. 2011-11-04T18:30:34 *** Fandekasp has quit IRC (Ping timeout: 258 seconds) 2011-11-04T18:30:35 *** cyphase has quit IRC (Quit: http://www.cyphase.com/) 2011-11-04T18:31:26 Sorting the couple of dozen input operations ought to be pretty snappy really. 2011-11-04T18:31:35 T'would suck if you make assumptions that may not hold. 2011-11-04T18:31:54 The game specs are clear 2011-11-04T18:32:00 Regarding angle computing, I currently used Atan2 and multiply it to get Degrees rather than Rad. Is there a way to get rid of the negatives and get the angle in 0 to 360 degrees? 2011-11-04T18:32:05 conor_f: just paste the difference, with a couple more lines of code 2011-11-04T18:32:06 *** cyphase has joined #aichallenge 2011-11-04T18:32:12 k 2011-11-04T18:32:31 add pi to it? 2011-11-04T18:32:47 Angles in ants? Why? 2011-11-04T18:32:53 no reason 2011-11-04T18:33:00 let me try. 2011-11-04T18:33:05 maybe he meant Angels? 2011-11-04T18:33:16 the famous Atan2 Angles 2011-11-04T18:33:40 Those damned obtuse angels 2011-11-04T18:33:45 High level intelligence, far away from low level behaviours. 2011-11-04T18:34:01 LouisMartin: (x+360)%360 2011-11-04T18:34:14 ? 2011-11-04T18:34:14 LouisMartin: Or, considering that you might be using *shudder* floating point, fmod. 2011-11-04T18:34:18 Sure, but you can only move in 90 degree angles.... 2011-11-04T18:34:22 why +360? 2011-11-04T18:34:36 mcstar: To get around that % and fmod semantics with negative numbers are ... amusing. 2011-11-04T18:34:50 mcstar: He wanted positive angles, and adding pi would put him half a circle off. 2011-11-04T18:34:55 atan2 return a float between [-Pi, pi) 2011-11-04T18:35:01 returns* 2011-11-04T18:35:03 mcstar: He converted to degress, he said. 2011-11-04T18:35:12 so that is 180° 2011-11-04T18:35:42 mcstar: Adding pi to your would rotate the angle denoted by 0 by pi. 2011-11-04T18:35:57 hm 2011-11-04T18:36:06 have trouble parsing your output 2011-11-04T18:36:20 I interpret his request that he wants to fold it over such that 0 starts at the same place, but goes past pi up to 2pi. 2011-11-04T18:36:29 http://pastebin.com/cQgTERde 2011-11-04T18:36:31 yep 2011-11-04T18:36:44 from [-Pi, pi) to [0, 2Pi) 2011-11-04T18:37:17 what I have is 0 to 180 by positves (45, 90 135) and 0 to 180 in negatives (-45, -90, -135) .. but I'd prefer 0 to 360 deg. we can get rid of atan2 or anything else, I don't care 2011-11-04T18:37:33 (signed)r 2011-11-04T18:37:34 ? 2011-11-04T18:37:46 conor_f: that is totally un-understandable 2011-11-04T18:37:55 Zao is correct about what I want. 2011-11-04T18:38:00 i mean you should cast to unsigned if it had matter 2011-11-04T18:38:16 Oh, I thought Zao said to cast to signed 2011-11-04T18:38:28 *** datachomper has left #aichallenge 2011-11-04T18:38:31 a dimension of a vector cannot be negative 2011-11-04T18:38:40 so logically unsigned is correct 2011-11-04T18:38:48 heh, true >_< 2011-11-04T18:39:01 Given an Ant, 0 would be at is left, 90 at the top, 180 at his right and 270 down. (or the other way around, 270, 170, 90 .. I also don't care about that) 2011-11-04T18:39:02 but in practice it doesnt matter unless you give a negative dimension to the constructor 2011-11-04T18:39:06 LouisMartin: Say that you have 90 and -90, and you add 360 to them. 2011-11-04T18:39:15 *** cyphase has quit IRC (Read error: Connection reset by peer) 2011-11-04T18:39:21 Then you end up with 450 and 270. 2011-11-04T18:39:27 mcstar: yeah, still doesn't show the problem :/ 2011-11-04T18:39:29 Taking that modulus 360, you get 90 and 270. 2011-11-04T18:39:37 *** dwins has quit IRC (Ping timeout: 252 seconds) 2011-11-04T18:39:42 Which is what you asked for. 2011-11-04T18:39:44 so why do you have angles in your bot anyway? 2011-11-04T18:39:53 lol 2011-11-04T18:40:09 Antimony: Path planning to food at arbitrary locations? Amusing heuristics? 2011-11-04T18:40:19 amstan: it seems debian/ubuntu forgot to include that plugin while rewriting the way scala is build :( 2011-11-04T18:40:23 Zao: +360 mod 360. Great. thanks 2011-11-04T18:40:30 thanks too mcstar 2011-11-04T18:41:14 why would you use degrees? 2011-11-04T18:41:47 this contest is hard when your maths are 15 years without any uses. I never realized how bad I got before this contest. Will get an online course when I have the time. I feel like an asshole :( loll 2011-11-04T18:41:55 *** cyphase has joined #aichallenge 2011-11-04T18:42:29 Antimony: If I'd tell you, I'd have to kill .. wait for it.. your ants. 2011-11-04T18:43:20 conor_f: hm 2011-11-04T18:43:29 im clueless 2011-11-04T18:43:33 ok 2011-11-04T18:43:37 TMTOWTDI :P 2011-11-04T18:43:42 so you only change 1 line and it will work? 2011-11-04T18:43:50 what? 2011-11-04T18:43:51 no 2011-11-04T18:43:54 I'm stunned by the fact that using degrees have you all wonders what I could do with these. How are you coding higher level intelligence? you're all and only into low level individual behaviors? 2011-11-04T18:44:17 ...huh? 2011-11-04T18:44:23 ...huh? 2011-11-04T18:44:25 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-04T18:44:29 ...huh? 2011-11-04T18:44:35 angles are hihgher level than pixels? 2011-11-04T18:44:38 ...huh? 2011-11-04T18:44:45 or...? 2011-11-04T18:44:54 i think we dont get the higher level part 2011-11-04T18:44:58 atl least i dont 2011-11-04T18:45:04 If you use pi in some gaussian distribution kind f way then yea sure go ahead 2011-11-04T18:45:07 conor_f: lets go private 2011-11-04T18:45:16 But angles between locations in the world don't make sense 2011-11-04T18:45:51 *** replore has quit IRC (Remote host closed the connection) 2011-11-04T18:46:28 I'm (highly) probably the one with the weird idea here about this. I'll rethink my approach to what I was planning to do. 2011-11-04T18:47:40 *** analyst74 has quit IRC (Quit: HydraIRC -> http://www.hydrairc.com <- \o/) 2011-11-04T18:47:42 is the python starter package fit for use? 2011-11-04T18:47:47 louis, you can only move ants on a grid(4 directions).. my opposition to degrees is probably different than other peoples thoug 2011-11-04T18:47:55 it seems even sample bots timeout 2011-11-04T18:47:55 for me: degree's is a useless unit.. 2011-11-04T18:48:07 only useful for talking to old people, and gradeschool teachers 2011-11-04T18:48:41 I like degrees. 2011-11-04T18:48:59 tasdomas: timeout on the official server or on ants.fluxid.pl? 2011-11-04T18:49:13 on test_bot 2011-11-04T18:49:33 strange, there must be a problem with your setup 2011-11-04T18:49:34 I run test_bot.sh 'python ../mybot.py' 2011-11-04T18:49:50 amstan: I just replied but now realize I may have misunderstood your comment on the change to the python starter timing 2011-11-04T18:49:59 and get: 2011-11-04T18:50:02 turn 23 bot 1 eliminated waiting 0.25 seconds for bots to process end turn turn 23 stats: [2,0,0] 1 [1,0] 0 0 1 [0,0] [1,0] [1,1] [3,3] 1 [0,1] score 5 3 status survived eliminated 2011-11-04T18:50:10 janzert: which one? 2011-11-04T18:50:11 burny haha maybe I'm bot! oh wait, I'd know better about math then.. hmm. 2011-11-04T18:50:21 janzert: can you refresh my memory? 2011-11-04T18:50:43 this is no timeout, just one of the bot killed I think 2011-11-04T18:50:44 we are using wall clock time for timing the bots, but python's time.clock() method measures cpu time on unix like operating system and wall clock time on windows 2011-11-04T18:51:05 so time.time() is the correct method for wall clock time everywhere 2011-11-04T18:51:06 ah the scala used by the worker isn't the ubuntu package but the standard release version it seems 2011-11-04T18:51:10 can anyone confirm this? 2011-11-04T18:51:22 jix it's not 2011-11-04T18:51:38 see the starter package page for the version used 2011-11-04T18:52:00 amstan: https://github.com/aichallenge/aichallenge/commit/fb4ac1f50171e512fc3491470fc0ce4746d1ea51#commitcomment-696492 2011-11-04T18:52:09 janzert: yeah the version used is the same for ubuntu (at least some version of ubuntu) and the one listed on the website 2011-11-04T18:52:20 janzert: the problem is that ubuntu forgot to bundle a compiler plugin that is supposed to be included 2011-11-04T18:52:30 here's a simple problem where I can see a use for angle: How to determine if an enemy ant is Up, Down, Left or Right to you. That is, is it More Left than Up? etc. brb 2011-11-04T18:52:34 janzert: so we use the wall time for killing the bots? 2011-11-04T18:52:36 jix: let me double check then 2011-11-04T18:52:41 amstan: right 2011-11-04T18:52:49 always have from what I can see 2011-11-04T18:52:50 heh 2011-11-04T18:52:54 janzert: ok, so we shouldn't be worrying about clock at all then 2011-11-04T18:53:05 i did it wo angles 2011-11-04T18:53:17 janzert: in worker_setup.py it is installed by extracting a .tgz that is downloaded using curl before so I assume it's the unmodified offical scala release 2011-11-04T18:53:19 amstan: right the time.clock method shouldn't really be used by us anywhere 2011-11-04T18:53:24 and, with angles, everything breaks 2011-11-04T18:53:36 because you have "torus" bleh 2011-11-04T18:53:41 janzert: if that is the case the pull request I made to actually enable that plugin should work 2011-11-04T18:53:47 jix: yeah we're using the scala-2.9.0.1.tgz from scala-lang.org 2011-11-04T18:54:23 Louis, but you can do that with just coordinates. 2011-11-04T18:54:44 jix: my main question is does it end up causing a slow down for all scala code compiled whether it uses continuations or not? 2011-11-04T18:54:51 janzert: so why are we using wall over cpu again 2011-11-04T18:55:07 because we can measure it more reliably 2011-11-04T18:55:08 basically 2011-11-04T18:55:23 janzert: from what I read it should only affect code that imports the continuation package 2011-11-04T18:55:45 *** Antimony has joined #aichallenge 2011-11-04T18:56:21 janzert: basically everything that uses continuations needs a @cps annotation... other stuff isn't touched at all 2011-11-04T18:56:39 *** Hexren has quit IRC (Quit: Leaving.) 2011-11-04T18:57:51 *** mviel has quit IRC (Ping timeout: 248 seconds) 2011-11-04T18:57:55 jix: ok, I just seem to recall in the context of some other languages there was a small cost to all code whether it was using continuations or not. But I'm probably misremembering that was several years ago 2011-11-04T18:59:22 hey guys, is there a maximum map size? 2011-11-04T18:59:38 paulwal: 200 squared 2011-11-04T18:59:49 thanks 2011-11-04T19:00:23 janzert: from the scala continuation paper: What we are striving for is thus a selective CPS transform (Nielsen 2001) that is applied only where it is actually needed, and allows us to stick to a regular, stack-based runtime discipline for the majority of code. As a side effect, this by design avoids the performance problems associated with implementations of delimited continuations in terms of undelimited ones (Balat and Danvy 1997; Gasbichler and Sperber 2002). 2011-11-04T19:01:50 * mcstar wonders what that means 2011-11-04T19:02:01 pairofdice: how? 2011-11-04T19:02:09 ive never used continuations before 2011-11-04T19:02:14 jix: sounds good 2011-11-04T19:02:30 LouisMartin: have you considered the wrapping effect? 2011-11-04T19:02:38 mcstar: stay away they'll make your mind explode :P 2011-11-04T19:02:40 what is dow, left right up isnt absolute 2011-11-04T19:03:06 janzert: oh? but i was told that they are cool, and i will try them 2011-11-04T19:03:14 :) 2011-11-04T19:03:54 writing complex iterators (java style) without them is a huge PITA 2011-11-04T19:04:06 mcstar: no but the become when you add these relatives (1, 1) (-1, 1) (1, -1) (-1, -1) to a Y, X coords 2011-11-04T19:04:26 Louis, well atleast in the python starter there's the direction method 2011-11-04T19:04:53 now I can just traverse my quadtree calling produce and that is turned into an iterator I can use with all the nice iterator stuff scala has 2011-11-04T19:04:59 LouisMartin: yes, you need the "images" of the coordinates 2011-11-04T19:05:09 you you can drop angels altogether 2011-11-04T19:05:22 pairofdice: ahah, right, but how does it help me figure out the relative position of an adversaries in order to make a defensive or aggresive move? 2011-11-04T19:05:39 *** ecarpenter84 has quit IRC (Quit: Page closed) 2011-11-04T19:05:47 jix: is it like dynamically rebinding function-scoped variables? 2011-11-04T19:05:56 That I don't know 2011-11-04T19:05:59 kiind of an recursive-but-not call? 2011-11-04T19:06:38 mcstar: okay, given Ant 20, 20 and Enemy at 25, 25, how do you figure out the best escape move? 2011-11-04T19:06:38 so in the next call, you have access to all of the callee's environment, right? 2011-11-04T19:06:48 f 2011-11-04T19:06:51 caller's 2011-11-04T19:07:04 mcstar: eh no... or maybe I don't understand what you mean 2011-11-04T19:07:22 jix: maybe i need to look up continuations again :D 2011-11-04T19:07:31 mcstar: but what it does is this: you pass a function which in turn gets passed a function that represents the continuation of the program 2011-11-04T19:07:45 mcstar: and the continuation is just a function that if you call resumes the program 2011-11-04T19:08:10 mcstar: and I'm not good at explaining this... 2011-11-04T19:08:16 like a functional closure? 2011-11-04T19:08:23 mcstar: I'm happy when my continuation code works 2011-11-04T19:08:32 *** Cyb has quit IRC (Ping timeout: 276 seconds) 2011-11-04T19:08:34 Louis, you take ants.direction and flip the coordinates 2011-11-04T19:08:39 mcstar: do you know continuation passing style? 2011-11-04T19:08:46 hell no 2011-11-04T19:08:53 mcstar: where instead of returning a value you pass a function that processes the value 2011-11-04T19:09:10 aham 2011-11-04T19:09:24 interesting 2011-11-04T19:09:32 (defun cpsadd (a b cont) (cont (+ a b))) 2011-11-04T19:09:37 that would be addition in cps 2011-11-04T19:09:43 (you were using lisp right?) 2011-11-04T19:10:00 maybe that works only in scheme because lisp treats functions special doesn't it? 2011-11-04T19:10:02 dont you need to return a lambda than? 2011-11-04T19:10:13 *** romainpomier has quit IRC (Quit: romainpomier) 2011-11-04T19:10:14 mcstar: no you'll call cont directly 2011-11-04T19:10:37 *** Antimony has quit IRC (Ping timeout: 240 seconds) 2011-11-04T19:10:47 but if you want to add two numbers you'll do it like this (cpsadd 1 2 (lambda (result) do-something-with-result-here)) 2011-11-04T19:10:50 *** capa has joined #aichallenge 2011-11-04T19:11:22 pairofdice: I'll take a look at your idea. thank 2011-11-04T19:11:22 now that is ugly to write.... so if the language has continuation support... you can write normal code... but are able to get hold of the continuation wherever you want 2011-11-04T19:11:56 an example is exception handling... if you are using cps you're allways free to not call the continuation but instead return an error value, aborting the computation 2011-11-04T19:12:09 so you have control over the program flow 2011-11-04T19:12:12 jix: so you pass a function that will be called with the result of the continuation 2011-11-04T19:12:20 Louis, there's also the BEHIND dictionary that you could use, does eactly that 2011-11-04T19:12:37 mcstar: s/continuation/computation/ 2011-11-04T19:12:47 mcstar: and that function that you pass _is_ the continuation 2011-11-04T19:12:58 well, the real-work of the cpsadd function i meants 2011-11-04T19:12:59 because it tells the function where to continue when it's done 2011-11-04T19:13:04 -s 2011-11-04T19:13:12 k 2011-11-04T19:13:35 so how does this look like in scheme? 2011-11-04T19:13:50 mcstar: I have no idea.. I did very little scheme and even less common lisp 2011-11-04T19:14:00 most experience I have with this comes from haskell 2011-11-04T19:14:15 where you can implement it without needing language support which is quite cool imho 2011-11-04T19:14:19 afaik scheme has current-continuations or some like that 2011-11-04T19:15:24 Call-with-current-continuation 2011-11-04T19:17:05 *** tasdomas has quit IRC (Quit: Page closed) 2011-11-04T19:17:06 jix: so this continuation captures the current call-stack and variable bindings 2011-11-04T19:17:22 *** mlmnl has quit IRC () 2011-11-04T19:17:51 like i have a recursive call, i could make snapshots of these continuations, and store them, and later run them? 2011-11-04T19:18:01 mcstar: yeah something like that 2011-11-04T19:18:10 and you could also run them multiple times or not at all 2011-11-04T19:18:19 aham 2011-11-04T19:18:25 seems powerfl 2011-11-04T19:18:36 and costly 2011-11-04T19:18:48 but we like abstractions 2011-11-04T19:18:57 it really depends... in haskell CPS monads are very fast 2011-11-04T19:20:21 oh you can also use them to implement coroutines 2011-11-04T19:21:36 which have so many nice applications and make code way nicer than ugly huge explicit statemachines 2011-11-04T19:22:12 its like a data-generatorM 2011-11-04T19:22:13 ? 2011-11-04T19:22:45 sounds like something lazy 2011-11-04T19:22:52 :D 2011-11-04T19:23:13 im guessing in haskell you coroutines with monads too 2011-11-04T19:23:17 you do* 2011-11-04T19:23:24 *** thestinger has quit IRC (Quit: WeeChat 0.3.6) 2011-11-04T19:24:57 janzert: btw I made a pull request to enable the continuations plugin https://github.com/aichallenge/aichallenge/commits/epsilon 2011-11-04T19:26:13 oh wrong link 2011-11-04T19:26:21 https://github.com/aichallenge/aichallenge/pull/353 2011-11-04T19:28:35 weird. i just had three simultaneous games 2011-11-04T19:28:35 *** paulwal has quit IRC (Ping timeout: 265 seconds) 2011-11-04T19:28:51 I can't believe my ants managed to lose this match http://ants.fluxid.pl/replay.20725 2011-11-04T19:28:54 lol 2011-11-04T19:29:30 #aichallenge has reached the maximum amount of functional programming chatting for the time period, please wait 1 hour before proceeding 2011-11-04T19:30:04 SKI COMBINATORS WAAAUUUUUGGGHHH 2011-11-04T19:30:31 er hi. typo 2011-11-04T19:31:06 "ants not razing hills" 2011-11-04T19:31:06 lol 2011-11-04T19:31:32 @roulette 2011-11-04T19:31:32 mcstar: *click* 2011-11-04T19:31:51 *** Antimony has joined #aichallenge 2011-11-04T19:31:56 *** delt0r__ has quit IRC (Ping timeout: 276 seconds) 2011-11-04T19:32:37 * mcstar thinks it would be wise to ask a1k0n about storing trees 2011-11-04T19:32:58 *** conor_f has quit IRC (Quit: leaving) 2011-11-04T19:33:06 a1k0n: are you functional or the other 2011-11-04T19:33:10 imper.... 2011-11-04T19:33:13 what is it? 2011-11-04T19:33:25 f 2011-11-04T19:33:29 im really tired 2011-11-04T19:33:48 only "imperial" comes to mind 2011-11-04T19:34:22 imperative 2011-11-04T19:34:45 my bot is nonfunctional 2011-11-04T19:34:51 :D 2011-11-04T19:35:46 i think i will be using a doubly linked list and not an stl one 2011-11-04T19:36:04 what about storing trees? 2011-11-04T19:36:23 well, regarding implementation 2011-11-04T19:36:27 in c++ 2011-11-04T19:36:31 *** km114 has joined #aichallenge 2011-11-04T19:37:23 a1k0n: what is your expectation, how far will a bot see into the future in a battle scenario? 2011-11-04T19:37:33 i know it is a broad question 2011-11-04T19:37:42 but what is your "feeling"? 2011-11-04T19:37:49 since you have done game trees in the past 2011-11-04T19:37:53 and i havent 2011-11-04T19:38:02 oh 2011-11-04T19:38:27 in this game? probably one ply 2011-11-04T19:38:33 :D 2011-11-04T19:38:37 game over 2011-11-04T19:38:52 really? 2011-11-04T19:38:55 only 1? 2011-11-04T19:39:31 a1k0n: i could generate 1 turn and evaluate the "leafs" in 0.4 secs 10000 times 2011-11-04T19:39:35 unless you can generate high-level moves like bocsimacko 2011-11-04T19:39:44 for a 2 vs 1 situation 2011-11-04T19:39:48 *** paulwal has joined #aichallenge 2011-11-04T19:40:04 it's all in the evaluatioan function 2011-11-04T19:40:13 evaluation* 2011-11-04T19:40:37 *** thestinger has joined #aichallenge 2011-11-04T19:40:39 hello everyone 2011-11-04T19:40:42 who is bocsimacko? 2011-11-04T19:40:48 winner of pw 2011-11-04T19:40:50 yeah i mean.. you obviously cant generate all possible moves recursively 2011-11-04T19:41:00 i didnt use recursion 2011-11-04T19:41:42 i admit i still dont understand his solution 2011-11-04T19:42:14 i was under the impression he used minimax and maybe pruned better than others? 2011-11-04T19:42:22 aaaah combat combat combat 2011-11-04T19:42:27 the hard part begins 2011-11-04T19:42:40 roflmao: if youre lucky, the hard part is between your legs 2011-11-04T19:42:45 he did, but he generated a limited aet of moves for each side 2011-11-04T19:43:17 my problem with that was that it wont cover what your oppobent actually does 2011-11-04T19:43:25 mcstar: i prefer penis 2011-11-04T19:43:44 *** delt0r__ has joined #aichallenge 2011-11-04T19:44:24 so if you only generate good moves thats fine. my solution wasnt as good. 2011-11-04T19:45:16 i didnt participate, so i dont really understand what you say 2011-11-04T19:45:38 but it sounds to me he had a better criterion on what branches to explore? 2011-11-04T19:46:02 *** ThmzV has quit IRC (Quit: Page closed) 2011-11-04T19:46:37 *** Antimony has quit IRC (Ping timeout: 240 seconds) 2011-11-04T19:46:44 since he used lisp, im quite sure, he used a list as his basic data structure for the tree 2011-11-04T19:46:50 so i guess i will use that too 2011-11-04T19:46:53 *** twymer has joined #aichallenge 2011-11-04T19:50:14 *** savaron has joined #aichallenge 2011-11-04T19:51:23 yeah, i guess you could say that he explored better branches. 2011-11-04T19:51:45 janzert: not that i'm complaining, but should i have had three games simultaneously? 2011-11-04T19:52:02 (or maybe two simultaneous, three minutes after my last game) 2011-11-04T19:52:28 http://aichallenge.org/profile.php?user=432 2011-11-04T19:53:42 nice 2011-11-04T19:53:44 *** djr__ has joined #aichallenge 2011-11-04T19:53:51 how did you trick the server? 2011-11-04T19:53:57 @rankings 21 2011-11-04T19:53:58 amstan: Top 21 players: xathis(89.0), MomoBot(83.7), sir_macelon(83.6), GarySWest(83.4), FlagCapper(82.8), Fluxid(81.8), paratrechina(81.0), Ender(80.3), xRaider(79.8), teapotahedron(78.8), olex.s(78.8), FLashM(77.9), ChrisH(77.9), vittim(77.7), Oleg_Ovcharenko(77.6), r-bit(77.4), cumbuz(77.2), coachbudka(77.2), cantsbot(77.0), ZumZoom(77.0), a1k0n(76.5) 2011-11-04T19:54:04 oh yes, a1k0n back in the lead 2011-11-04T19:54:05 i submitted a bot forever ago, and waited 2011-11-04T19:54:11 hardly the lead 2011-11-04T19:54:13 :D 2011-11-04T19:54:18 well.. near the lead 2011-11-04T19:54:31 you just have to beat the rest of those 2011-11-04T19:54:38 i'm willing to bet money that my next bot which will be smarter will actually rank worse 2011-11-04T19:54:42 it seems your bot ignores enemies? 2011-11-04T19:54:54 yes, completely 2011-11-04T19:54:57 except for hills 2011-11-04T19:55:00 yep 2011-11-04T19:55:01 it runs for the hills, heheh 2011-11-04T19:55:03 oh, fun 2011-11-04T19:55:04 lo0l 2011-11-04T19:55:08 21 isnt bad than 2011-11-04T19:55:16 that's my strategy in sauerbraten 2011-11-04T19:55:21 to go directly for the flag in ctf 2011-11-04T19:55:33 disregard the red team, aquire flag 2011-11-04T19:55:35 i hope you at least strafe on the way 2011-11-04T19:55:38 heh 2011-11-04T19:55:42 @rankings 143 2011-11-04T19:55:42 pedrosorio: Error: Cannot do that many players. 2011-11-04T19:55:47 :( 2011-11-04T19:55:53 @rankings 140-143 2011-11-04T19:55:53 a1k0n: (rankings [how many]) -- Get the top $(how many) players. 2011-11-04T19:55:56 dont try to flood the channel 2011-11-04T19:56:02 xD 2011-11-04T19:56:11 @rankings 2011-11-04T19:56:12 pedrosorio: Top 10 players: xathis(89.0), MomoBot(83.7), sir_macelon(83.6), GarySWest(83.4), FlagCapper(82.8), Fluxid(81.8), paratrechina(81.0), Ender(80.3), xRaider(79.8), teapotahedron(78.8) 2011-11-04T19:56:19 @rankings 50 2011-11-04T19:56:19 pedrosorio: Error: Cannot do that many players. 2011-11-04T19:56:26 @rankings 25 2011-11-04T19:56:27 pedrosorio: Top 25 players: xathis(89.0), MomoBot(83.7), sir_macelon(83.6), GarySWest(83.4), FlagCapper(82.8), Fluxid(81.8), paratrechina(81.0), Ender(80.3), xRaider(79.8), teapotahedron(78.8), olex.s(78.8), FLashM(77.9), ChrisH(77.9), vittim(77.7), Oleg_Ovcharenko(77.6), r-bit(77.4), cumbuz(77.2), coachbudka(77.2), cantsbot(77.0), ZumZoom(77.0), a1k0n(76.5), ebyrob(76.4), Migi32(76.0), (1 more message) 2011-11-04T19:56:36 @rankings 37 2011-11-04T19:56:37 pedrosorio: Top 37 players: xathis(89.0), MomoBot(83.7), sir_macelon(83.6), GarySWest(83.4), FlagCapper(82.8), Fluxid(81.8), paratrechina(81.0), Ender(80.3), xRaider(79.8), teapotahedron(78.8), olex.s(78.8), FLashM(77.9), ChrisH(77.9), vittim(77.7), Oleg_Ovcharenko(77.6), r-bit(77.4), cumbuz(77.2), coachbudka(77.2), cantsbot(77.0), ZumZoom(77.0), a1k0n(76.5), ebyrob(76.4), Migi32(76.0), (1 more message) 2011-11-04T19:56:37 *** paulwal has quit IRC (Ping timeout: 265 seconds) 2011-11-04T19:56:37 *** Ionic_Groove has joined #aichallenge 2011-11-04T19:56:47 that is partial-flooding 2011-11-04T19:56:53 this is binary search 2011-11-04T19:56:59 I'm doing it as efficiently as possible 2011-11-04T19:57:02 SAR ADC? 2011-11-04T19:57:10 oh wow I'm in the top 25? How did that happen? 2011-11-04T19:57:25 oh Migi32 the latest star 2011-11-04T19:57:29 Migi32 you're awesome 2011-11-04T19:57:37 *** djr_ has quit IRC (Ping timeout: 260 seconds) 2011-11-04T19:57:40 @rankings 44 2011-11-04T19:57:41 pedrosorio: Top 44 players: xathis(89.0), MomoBot(83.7), sir_macelon(83.6), GarySWest(83.4), FlagCapper(82.8), Fluxid(81.8), paratrechina(81.0), Ender(80.3), xRaider(79.8), teapotahedron(78.8), olex.s(78.8), FLashM(77.9), ChrisH(77.9), vittim(77.7), Oleg_Ovcharenko(77.6), r-bit(77.4), cumbuz(77.2), coachbudka(77.2), cantsbot(77.0), ZumZoom(77.0), a1k0n(76.5), ebyrob(76.4), Migi32(76.0), (1 more message) 2011-11-04T19:57:55 @help rankings 2011-11-04T19:57:55 mcstar: (rankings [how many]) -- Get the top $(how many) players. 2011-11-04T19:57:55 it says one more message 2011-11-04T19:58:04 @more 2011-11-04T19:58:04 amstan: Error: You haven't asked me a command; perhaps you want to see someone else's more. To do so, call this command with that person's nick. 2011-11-04T19:58:13 @more pedrosorio 2011-11-04T19:58:14 amstan: admchr(75.9), GreenTea(75.7), gridem(75.4), pguillory(75.2), paradoxe(75.1), lordap(75.1), strcat(74.9), endagorion(74.9), slin-.-(74.9), Lundgren(74.8), jdthomas(74.8), Langostinko(74.8), Abrackadabra(74.5), Alex_KPR(74.3), locutus(74.2), Randll(74.2), Parsley(74.2), delineate(73.9), pixel8r(73.9), beanhome(73.9), SpookyCookie(73.9) 2011-11-04T19:58:17 you see, no need to search for the value, it is $(homw many) 2011-11-04T19:58:32 ? 2011-11-04T19:58:58 @more 2011-11-04T19:58:58 pedrosorio: admchr(75.9), GreenTea(75.7), gridem(75.4), pguillory(75.2), paradoxe(75.1), lordap(75.1), strcat(74.9), endagorion(74.9), slin-.-(74.9), Lundgren(74.8), jdthomas(74.8), Langostinko(74.8), Abrackadabra(74.5), Alex_KPR(74.3), locutus(74.2), Randll(74.2), Parsley(74.2), delineate(73.9), pixel8r(73.9), beanhome(73.9), SpookyCookie(73.9) 2011-11-04T19:58:58 you wanted to see, which is the maximum allowed number or records? 2011-11-04T19:59:02 @MOAR 2011-11-04T19:59:03 pedrosorio: I have no idea what you mean. 2011-11-04T19:59:07 =( 2011-11-04T19:59:09 and now i'll be hilited on each @rankings ;_; 2011-11-04T19:59:21 lol 2011-11-04T19:59:22 ok, 2011-11-04T19:59:31 thats why Migi32 noticed his name 2011-11-04T19:59:42 yeah 2011-11-04T19:59:44 combatcombatcombat 2011-11-04T19:59:54 @roflmao 2011-11-04T19:59:55 pedrosorio: User error -- Replace user. 2011-11-04T20:00:26 replace me?? 2011-11-04T20:00:28 nooooooooooooooooo 2011-11-04T20:00:54 Fluxid: congrats btw 2011-11-04T20:01:04 Fluxid: i'm especially impressed you did it in python 2011-11-04T20:01:07 *** pedrosorio_ has joined #aichallenge 2011-11-04T20:01:21 (not that i'm doing anything computationally expensive.. yet) 2011-11-04T20:01:48 a1k0n: dont try to factorize big integers with your bot on google's money 2011-11-04T20:02:08 well, i can just do that at work 2011-11-04T20:02:37 i wish the contest were running on google's infrastructure. we'd all have 1000 games by now 2011-11-04T20:02:43 oh, I see we have a Top 10 contestant with us :) Congrat Fluxid 2011-11-04T20:03:07 *** olexs has quit IRC (Quit: Leaving.) 2011-11-04T20:03:13 i didnt notice 2011-11-04T20:03:13 Fluxid: How do you afford your amazon ec2 server? It's massive. 2011-11-04T20:03:23 haha what? 2011-11-04T20:03:57 that he is in top 10 2011-11-04T20:03:58 for one person it's big :P 2011-11-04T20:04:16 the tcp server? 2011-11-04T20:04:21 ya 2011-11-04T20:04:21 *** pedrosorio has quit IRC (Ping timeout: 265 seconds) 2011-11-04T20:04:41 that's not amazon, and it crowdsources the bot running if you want to think of it that way 2011-11-04T20:05:25 Fluxid: any advises for aspiring Top 10 contestants? 2011-11-04T20:05:59 Fluxid: not trying to get from you industrial secrets about your bot, of course. 2011-11-04T20:06:18 *** capa has quit IRC (Ping timeout: 265 seconds) 2011-11-04T20:06:26 keep your friends close but your enemies closer? 2011-11-04T20:06:29 *** amstan has quit IRC (Ping timeout: 240 seconds) 2011-11-04T20:06:59 LouisMartin: are you there? 2011-11-04T20:07:21 don't keep your enemies too close or they'll raze your hill though 2011-11-04T20:07:30 lol, thanks 2011-11-04T20:07:39 savaron: yes, I think 2011-11-04T20:07:41 roflmao: it's not ec2, it's eq4 in hetzner 2011-11-04T20:08:00 fluxid: ah okay 2011-11-04T20:08:05 50EUR a month 2011-11-04T20:08:16 fluxid: someone had told me something that made me think that it was amazon 2011-11-04T20:08:21 fluxid: whoa, that's not bad 2011-11-04T20:08:25 fluxid: specs? 2011-11-04T20:08:26 I asked already in the forum, but would you mind sharing your "SmurfStation"? ;) 2011-11-04T20:08:50 600GB dik afair, quad with ht, 8GB ram 2011-11-04T20:08:59 *** choas has quit IRC (Ping timeout: 276 seconds) 2011-11-04T20:09:16 roflmao: the official servers run on ec2's 2011-11-04T20:09:19 90mbit, 4 IPv4s and /64 ipv6 subnet 2011-11-04T20:09:22 is it really a heavy workload to run a TCP server though? I mean, it's not like it has to run the bots itself, like the contest servers 2011-11-04T20:09:42 LouisMartin: simplest works the best 2011-11-04T20:10:00 Migi32: none 2011-11-04T20:10:11 Fluxid, yeah, but bandwidth-wise? 2011-11-04T20:10:22 Migi32: no idea and i don't care 2011-11-04T20:10:22 savaron: hmmm. I'd have to give it some thoughts as it would require some serious decoupling and you'd still have a lot of wiring to do. I'd have to figure which part can be abstracted to any bot implementation 2011-11-04T20:10:23 ;) 2011-11-04T20:10:38 LouisMartin: i already shared most of ideas i use here on irc 2011-11-04T20:10:46 Fluxid: I actually wanted you to say that, so I'm happy. 2011-11-04T20:11:11 savaron: give me 10 mins and I'll tell you 2011-11-04T20:11:13 *** epicmonkey has quit IRC (Ping timeout: 245 seconds) 2011-11-04T20:11:24 LouisMartin: it seems to me i'm constantly rewriting my client, so that would make no difference ;) 2011-11-04T20:11:58 Fluxid: Saddly, I wasn't there. So your strategy isn't a secret? 2011-11-04T20:12:25 sometimes I feel sorry for xathis, he's so far ahead that no one wants to play with him ;) 2011-11-04T20:12:48 Migi32: in average 420kb/s in/out 2011-11-04T20:13:02 LouisMartin: there is a link to the channel logs on the top of this windows 2011-11-04T20:13:13 Fluxid, that's also acceptable 2011-11-04T20:13:22 based on increase of average monthly tx rate by this amount 2011-11-04T20:13:31 tx+rx 2011-11-04T20:14:08 that's 132 GB per month 2011-11-04T20:14:30 savaron: Alright. Well, I think the most important (and simplest) piece of software I could share if the Client/Server code. That is, the dummy bot that redirect everything to and from your visual debugging station. The visual part would be up to you and I could tell you how I did what I did into my SmurfStation, but it's tightly bound to my bot, so the code is pretty useless. 2011-11-04T20:14:37 should add gzip compression to the protocol 2011-11-04T20:14:50 a bit too late for that, I'm afraid 2011-11-04T20:14:52 that would be great 2011-11-04T20:15:01 it'd be possible to make it backward-compatible 2011-11-04T20:15:02 I would like it too, though 2011-11-04T20:15:04 savaron: cool, hopping the log are searchable for the keyword "fluxid" then 2011-11-04T20:15:09 LouisMartin: i just throwed simplest idea to do basic tasks: 30 place. fixed, refined, added stub interaction with enemy ants - 7th place 2011-11-04T20:15:10 but i'm not volunteering :) 2011-11-04T20:16:03 a1k0n: you would need to compress on every turn 2011-11-04T20:16:10 that is a small sample 2011-11-04T20:16:12 would anyone be so kind to at least point me int he direction of the types of algorithms I should look at 2011-11-04T20:16:16 for a good combat system? 2011-11-04T20:16:34 roflmao: combat algorithms 2011-11-04T20:16:50 Fluxid: 30 place? You mean to split the map in area and aim at controlling those areas? 'stub intereaction'? is that the little gambling dance everyone's doing? 2011-11-04T20:16:51 mcstar: you are a genius, thank you, now I know! 2011-11-04T20:16:55 *** amstan has joined #aichallenge 2011-11-04T20:16:55 *** ChanServ sets mode: +o amstan 2011-11-04T20:16:59 :D 2011-11-04T20:17:12 mcstar: no, you just need to sync the stream every turn. and turn commands are extremely repetitive 2011-11-04T20:17:23 s/sync/flush/ 2011-11-04T20:17:32 you can do that in gzip. 2011-11-04T20:17:35 *** axvtyk has quit IRC (Quit: Page closed) 2011-11-04T20:17:44 aham 2011-11-04T20:17:47 didnt know 2011-11-04T20:18:09 but i piped gzip, i guess it didnt accur to me the block can be so small 2011-11-04T20:18:14 I red a great approach yesterday, someone analyzed played games from the top bots, and used a learning-algorithm to teach his bot to behave like the top bots 2011-11-04T20:18:22 occur* 2011-11-04T20:18:27 LouisMartin: my first version i did overnight implemented only pathfinding to food/unexplored areas/to enemy hills and nothing else. this landed around 30 place 2011-11-04T20:18:32 but I don't find the link in my history 2011-11-04T20:18:57 a1kon: compression levels won't be worth it it any way. the numbers are compressible as they're pretty much unique to the X or Y unit and the command letters are a single letters. Maybe I missed something about what you want to do? 2011-11-04T20:19:26 next i made it so only single ants would go to single food instead of whole groups, optimized the code (it gets over 500ms around 650 ants atm) and added "dance" 2011-11-04T20:19:35 k, got it: http://www.curiousattemptbunny.com/2011/11/cheating-at-prime-directive.html 2011-11-04T20:20:28 prime directive? sounds like star trek 2011-11-04T20:20:39 *** bergmark has joined #aichallenge 2011-11-04T20:21:02 Fluxid: yea. A* food gathering + "Snake form" killing = rank ~400 without any form of enemy avoidance/battle. 2011-11-04T20:21:39 LouisMartin: are you kidding? a lot of numbers will repeat, as do all the command prefixes, but the entropy compression alone would shrink it a lot. a random digit only has 3.something bits of information and its being sent in 8 2011-11-04T20:21:42 All my bot is missing really is enemy avoidance and I think I'll be good! after that it's just tweaking 2011-11-04T20:21:49 LouisMartin: are you using a a*-library? 2011-11-04T20:22:23 Fluxid: I'm at that point. Is there any bad way to implement the "ground control dance"? anything you figured that was a "Ah!" moment? 2011-11-04T20:22:49 fyi Wow! moment 2011-11-04T20:23:55 a1k0n: it all depends on the size of the sample. If you want to compress full games, then yes, that's worth it. But didn't I read the idea what to compress the protocol live? if so, the space to compress is too small for any descent gain. 2011-11-04T20:23:57 *** treeform1 has quit IRC (Quit: Leaving.) 2011-11-04T20:24:41 LouisMartin: the compressor state would persist between turns with gzip streams 2011-11-04T20:24:47 *** n4nd0 has quit IRC (Quit: Leaving) 2011-11-04T20:24:59 *** Jak_o_Shadows has quit IRC (Remote host closed the connection) 2011-11-04T20:25:05 mcstar: Wow moment and Ha! moment aren't the same. Wow = Impressed. Ha! = discovery. 2011-11-04T20:25:28 nono, its an Aha! momentt 2011-11-04T20:25:46 Louis, mcstar likes trolling 2011-11-04T20:25:54 Oh! 2011-11-04T20:25:57 heh Fluxid you have exactly 0.01 mu more than me atm :) 2011-11-04T20:26:21 I'm really surprised that my bot is doing this well, it's extremely simple 2011-11-04T20:26:27 yea migi? 2011-11-04T20:26:29 a1k0n: that's what I missed of the conversation. this is much better. may be worth it then, yes. 2011-11-04T20:26:32 Migi32: i was sure you'll get to top bots for sure 2011-11-04T20:26:34 get food. attack hills. explore. that's it 2011-11-04T20:26:40 really? 2011-11-04T20:26:41 said this earlier today 2011-11-04T20:26:59 do you use any fancy tweaked weighting or anything>? 2011-11-04T20:27:06 cause that's what I do but doesn't work too well 2011-11-04T20:27:10 <_flag> Do any of you guys want to go on tcp? My bot needs some practice :P 2011-11-04T20:27:19 no, wait 2011-11-04T20:27:31 Migi32: mu, okay, but calculated skill is still low :) 2011-11-04T20:27:32 roflmao: mcstar is my favorite troll here :) don't worry. there's troll I hate, and there's that type which is fun. 2011-11-04T20:27:47 i thought you're tlaking about calculated skill 2011-11-04T20:27:51 the way you explore is quite important though. I try to spread my ants out as much as I can. 2011-11-04T20:28:04 Fluxid, no, I have way to high sigma for that 2011-11-04T20:28:20 Migi32: I just put all unexplored tiles as open set for bfs and roll with that 2011-11-04T20:28:24 savaron: for some reason I'm missing what you write me, sorry. Yes, I'm using A*. (Still thinking about the debugger thing btw.) 2011-11-04T20:28:24 LouisMartin: i don't use a* at all, lol 2011-11-04T20:28:25 it's because I resubmit often. Then it resets the ranking. 2011-11-04T20:28:54 * mcstar thanks for this, he was never called a troll before, he thinks he accepts the responsibility that comes with the title 2011-11-04T20:29:25 and this dance is the hardest part, and what i came with is losely based on minimax, i think, and it appears to barely work. couldn't make it better 2011-11-04T20:29:30 I love it how one dumb tweak can make your bot go from failure to awesome 2011-11-04T20:29:40 it's stupid, i wish i could make it another way 2011-11-04T20:30:02 you guys really know how to mitovate others 2011-11-04T20:30:07 motivate* 2011-11-04T20:31:15 Fluxid: More and more I'm figuring that I eventually disable it. You end up doing some processing that give you all the data you need to move around perfectly any way. 2011-11-04T20:31:17 Wow, my bot has won 2 times in a row 2011-11-04T20:31:35 it's not perfect, lol 2011-11-04T20:32:36 roflmao: ain't that great? also, from hero to zero in one little buggy change and hours to find out what it was you did to screw it all. 2011-11-04T20:32:49 yes 2011-11-04T20:33:05 by "dance" you mean combat formations? 2011-11-04T20:33:19 I don't understand the attack radius rules. In this example, an attack occurs far further than in another case were two ants are closer, but no attack occurs: http://i.imgur.com/FDGtR.png 2011-11-04T20:33:41 Fluxid: I've took a look at minimax but I'm not convinced it's the best approach. I feel there should be something more "intelligent" to do if you have this extra processing time available to you. 2011-11-04T20:33:47 retybok_: the attack occurs after they move 2011-11-04T20:33:55 the viewer shows the little attack lines a turn too early 2011-11-04T20:34:15 so in the first one, they're about to move closer. in the second, they aren't 2011-11-04T20:34:20 a1k0n: but the next turn they are gone on the viewer? 2011-11-04T20:34:32 a1k0n: so we don't see their last move? 2011-11-04T20:34:38 right... if you hit play you'll see them move and fade out simultaneously 2011-11-04T20:34:44 if you use the arrows they just disappear 2011-11-04T20:34:55 *** Antimony has joined #aichallenge 2011-11-04T20:34:56 a1k0n: right, thanks, will try it 2011-11-04T20:35:19 LouisMartin: people talk about minimax as often as they do about a*. though i didn't even touch a*, i tried with minimax since i don't know anything else. and people don't want to share what else one can use :( 2011-11-04T20:35:59 *** xar0l has joined #aichallenge 2011-11-04T20:36:49 do you do minimax on a small patch or something? 2011-11-04T20:37:00 its infeasable for all your ants at once right? 2011-11-04T20:37:30 a1k0n: got it, thanks a lot. 2011-11-04T20:37:41 np 2011-11-04T20:38:31 minimax looks fkin complicated 2011-11-04T20:40:23 Why can't I get this to wooooork 2011-11-04T20:40:32 Fluxid: Minimax could well be the best way to go, hence why nobody seriously talk about anything else. 2011-11-04T20:40:49 I don't think minmax is the best way 2011-11-04T20:40:56 So, Savaron, still there? 2011-11-04T20:40:58 I have an idea I want to get to work 2011-11-04T20:41:11 what's up pair? 2011-11-04T20:41:12 if no minimax, any other concept which has a name? 2011-11-04T20:41:35 there is always monte carlo... 2011-11-04T20:41:36 but minimax uses a lot of computation 2011-11-04T20:41:58 just for chess it is hard enough, and there you just have one piece you can move at a time 2011-11-04T20:42:06 my minimax tree has size of 16 2011-11-04T20:42:15 maybe some monte-carlo 2011-11-04T20:42:26 with some heuristic 2011-11-04T20:42:31 size? 2011-11-04T20:42:31 basically random tries 2011-11-04T20:43:05 Good luck with Monte Carlo... 2011-11-04T20:43:13 you mean this? http://en.wikipedia.org/wiki/Monte_Carlo_algorithm 2011-11-04T20:43:17 even more complicated than minimax 2011-11-04T20:43:23 savaron? 2011-11-04T20:43:39 Fluxid: 16.. moves? per pair of ants? 2011-11-04T20:43:43 I think we need to find some patterns 2011-11-04T20:43:47 it's about equally complicated I think 2011-11-04T20:44:07 symmetries 2011-11-04T20:44:07 etc. 2011-11-04T20:44:21 a1k0n: 4 directions in which *all* of my ants move * 4 directions *all* of enemy move 2011-11-04T20:44:41 Fluxid: oh.. that's not minimax, that's a payoff matrix 2011-11-04T20:44:48 ah 2011-11-04T20:44:54 luizribeiro: still there ;) 2011-11-04T20:44:57 well, sorry, they kicked me out of uni 2011-11-04T20:45:01 heh. 2011-11-04T20:45:05 :) 2011-11-04T20:45:06 i dropped out myself, so there 2011-11-04T20:45:20 minimax would have you go N moves into the future for each player 2011-11-04T20:45:20 a payoff matrix? 2011-11-04T20:45:23 so let's check what is payoff matrix 2011-11-04T20:45:57 a payoff matrix is arguably a more correct thing to do here because there are simultaneous moves 2011-11-04T20:46:03 ah, wait, i've read about this in paper about minimax... 2011-11-04T20:46:05 this argument came up repeeatedly in tron 2011-11-04T20:46:52 i missed the difference probably because i wanted more to watch movies than read science stuff 2011-11-04T20:46:58 oh well 2011-11-04T20:47:40 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-04T20:47:44 *** espes has quit IRC (Read error: Connection reset by peer) 2011-11-04T20:48:06 i am suddenly reminded of the mst3k intro 2011-11-04T20:48:28 - 2011-11-04T20:48:36 *** twymer has quit IRC (Ping timeout: 260 seconds) 2011-11-04T20:48:55 *** espes has joined #aichallenge 2011-11-04T20:49:40 Some day I'll get this monstrosity to work 2011-11-04T20:50:35 *** nm has joined #aichallenge 2011-11-04T20:51:25 *** ikaros has joined #aichallenge 2011-11-04T20:51:25 *** Antimony has quit IRC (Ping timeout: 240 seconds) 2011-11-04T20:52:23 which bot has the best combat now? xathis? 2011-11-04T20:52:26 you can still do minimax, just imagine as if the players move after each other 2011-11-04T20:52:43 the problem why you cant call it minimax, is that you can have multiple players 2011-11-04T20:52:58 and you cant call anymoew one player's gain another player's loss 2011-11-04T20:53:04 anymore* 2011-11-04T20:53:40 you could do something like you vs the rest 2011-11-04T20:53:54 thats not good enough 2011-11-04T20:54:08 i mean it is logically incorrect if you assume that 2011-11-04T20:54:21 and the smarter the other bots are, the more you are mistaken 2011-11-04T20:54:53 not sure about this 2011-11-04T20:55:28 true its logically incorrect but this doesnt need to be bad if its a working simplification 2011-11-04T20:55:45 mcstar: i don't think there's much to be lost in treating it in you vs them 2011-11-04T20:55:54 assuming you do your evaluation properly 2011-11-04T20:55:59 huh 2011-11-04T20:56:02 evaluation 2011-11-04T20:56:06 there it is 2011-11-04T20:56:12 ? 2011-11-04T20:56:16 it as* 2011-11-04T20:56:18 if you do it properly you must treat them separately 2011-11-04T20:56:30 not if you don't care about cooperation i don't think 2011-11-04T20:56:42 but then it's probably no more expensive anyway 2011-11-04T20:57:04 the problem is with the branching factor and that you have many battles at once 2011-11-04T20:57:10 and you need to separate them 2011-11-04T20:57:18 a1k0n: i wanted to do a payoff matrix in planet wars but it's way harder to generate iteratively 2011-11-04T20:57:50 and you then have the problem of strategy selection for the payoff matrix 2011-11-04T20:58:05 there isn't even necessarily always a pure nash equilibrium or if there is a unique one 2011-11-04T20:58:07 payoff tensor 2011-11-04T20:58:13 well yes for this 2011-11-04T20:58:19 not for planet wars 2011-11-04T20:58:32 i have tensors set up in my game theory library for n player games 2011-11-04T20:58:53 have you figured out all the terminology yet? :D 2011-11-04T20:59:07 for tensors? nah 2011-11-04T20:59:16 i still don't understand wtf a tensor product is 2011-11-04T20:59:38 not tensors per say, but for n>2 player zero sum games 2011-11-04T20:59:53 hm 2011-11-04T20:59:56 i used to think tensor product meant like multiplication of matrices, i realise that's completely off the mark now at least :P 2011-11-04T21:00:11 yeah it's just an n-dimensional table of payoffs 2011-11-04T21:00:24 it's representing the function u:A->R^n 2011-11-04T21:00:38 where A is the pure strategy space and R^n is the players payoff space 2011-11-04T21:01:04 *** nickjohnson has joined #aichallenge 2011-11-04T21:02:16 Has anyone here played around with collaborative diffusion? I had a working bot using it, but I realised my update procedure was incrementally updating as it went instead of frame-by-frame, and when I fixed it, performance got a lot worse :/ 2011-11-04T21:02:29 Ants tend to cluster more, and bounce around a common center, instead of spreading out, bizarrely 2011-11-04T21:02:46 story of my life duringplanet wars 2011-11-04T21:02:50 fix bug, bot gets worse 2011-11-04T21:03:00 antimatroid: i hope you're not running away anytime soon 2011-11-04T21:03:11 amstan: i'm about to go to the shop 2011-11-04T21:03:16 how long do you need me for? 2011-11-04T21:03:22 it'll only take like 20 minutes or so 2011-11-04T21:03:27 I thought it might be down to information taking longer to diffuse, but upping the diffuse-frames-per-turn made no noticeable difference 2011-11-04T21:03:27 oh, ok 2011-11-04T21:03:29 i can wait 2011-11-04T21:03:37 i also just picked an exam up from uni, so i need to start that at some point 2011-11-04T21:03:39 but lunch first 2011-11-04T21:04:04 last exam finally :D 2011-11-04T21:04:11 nickjohnson: lot worse? it should be not worse than a factor of 2 2011-11-04T21:04:26 mcstar: How do you measure 'worseness'? 2011-11-04T21:04:41 But yes - previously ants mostly spread out and did a good job of exploring 2011-11-04T21:04:44 i assign numbers to it 2011-11-04T21:04:49 so i can do arithmetic on them 2011-11-04T21:04:55 Now, each time they reach a goal, such as food, they bounce around a bit before finding the next one 2011-11-04T21:04:58 *** espes has quit IRC (Ping timeout: 244 seconds) 2011-11-04T21:04:59 i many times calculate percentages 2011-11-04T21:05:02 That's not very useful unless the numbers have meanings :) 2011-11-04T21:05:08 =) 2011-11-04T21:05:16 *** amstan_ has joined #aichallenge 2011-11-04T21:05:16 *** ChanServ sets mode: +o amstan_ 2011-11-04T21:05:38 nickjohnson: you said performance, that almost exclusively means time here 2011-11-04T21:05:58 mcstar: Sorry, I meant effectiveness. 2011-11-04T21:06:24 aichallenge: Alexandru Stan epsilon * rd261fd5 / ants/mapgen/mapgen.py : added seed to mapgen - http://git.io/0DVkPw 2011-11-04T21:06:29 Performance as in how well the ants perform their tasks, not how quickly the bot performs :) 2011-11-04T21:06:47 think about when do you update your diffusion, and when do you update the source terms 2011-11-04T21:06:55 *** Antimony has joined #aichallenge 2011-11-04T21:07:08 The sources are updated each frame, then I calculate 1...many diffusion steps from them 2011-11-04T21:07:22 yeah, but what positions are you using? 2011-11-04T21:07:27 for the sources 2011-11-04T21:07:27 What do you mean? 2011-11-04T21:07:32 "i still don't understand wtf a tensor product is" phrase of the night 2011-11-04T21:07:33 from which turn :D 2011-11-04T21:07:39 The current turn 2011-11-04T21:07:41 *** amstan has quit IRC (Ping timeout: 240 seconds) 2011-11-04T21:07:42 hehe 2011-11-04T21:07:45 *** amstan_ is now known as amstan 2011-11-04T21:07:57 lol, we were doing jacobson radicals in ring theory this semester 2011-11-04T21:08:13 then towards the end our lecturer made note that there exists abstract jacobson radical theory 2011-11-04T21:08:21 and we just looked at each like wtf this isn't abstract? 2011-11-04T21:08:32 each other* 2011-11-04T21:08:35 It seems plausible that the local maxima from a food item takes a while to dissipate, so they stick around for a bit, but I wouldn't expect the ants to cluster quite so much as they do 2011-11-04T21:08:40 you mean not on rings? 2011-11-04T21:08:42 And I'm surprised how much better it did with the 'wrong' update procedure 2011-11-04T21:08:50 mcstar: no idea :P 2011-11-04T21:08:59 oh 2011-11-04T21:08:59 *** paulwal has joined #aichallenge 2011-11-04T21:08:59 nickjohnson: so make it dissipate immediately 2011-11-04T21:09:11 i bet he did know anything about it either :D 2011-11-04T21:09:16 didnt* 2011-11-04T21:09:28 lericson: Easier said than done. The diffusion is calculated across the whole playfield, there's no way to isolate one source's contribution to it 2011-11-04T21:09:35 my friend googled it, i think some of the few papers he found were from our lecturer :P (barry gardner <3) 2011-11-04T21:09:39 anyway, shop 2011-11-04T21:09:44 I should just pick a faster language and do lots more iterations per game turn :P 2011-11-04T21:10:15 aichallenge: Alexandru Stan cave_mapgen * rd90899a / ants/mapgen/mapgen.py : tried to make the mapgen work with cavemaps, still unsymmetric - http://git.io/dxAfdQ 2011-11-04T21:10:21 antimatroid: how did i make it symmetric? 2011-11-04T21:10:25 nickjohnson: i found 3 iterations to be the perfect number 2011-11-04T21:10:32 antimatroid: i assumed the make_symmetric function is supposed to do that 2011-11-04T21:10:42 amstan: i'll look when i get back 2011-11-04T21:11:01 Barry Gardner 2011-11-04T21:11:05 Linebacker 2011-11-04T21:11:09 *** espes has joined #aichallenge 2011-11-04T21:11:12 Height: 6 ft 1 in 2011-11-04T21:11:17 Weight: 245 lb 2011-11-04T21:11:24 mcstar: Hmm. Did you observe any clustering behaviour, where your ants tend to stay on diagonals to each other, close by, and swap places a lot? 2011-11-04T21:11:33 reading what people discuss in this channel makes me feel dumb sometimes 2011-11-04T21:11:34 and he teaches jacobson radical theory 2011-11-04T21:11:48 nickjohnson: take a look at my bots plays 2011-11-04T21:12:08 mcstar: URL 2011-11-04T21:12:10 er, ? 2011-11-04T21:12:21 search for player 12 2011-11-04T21:12:31 we're lazy, give us a link! 2011-11-04T21:13:07 AgentSmith? 2011-11-04T21:13:21 paulwal: No, I just don't know his player ID. If there's a way to search by name, I haven't found it yet. 2011-11-04T21:13:22 yep 2011-11-04T21:13:34 its on the home page 2011-11-04T21:13:37 Search User 2011-11-04T21:13:40 or similar 2011-11-04T21:13:44 well i was speaking for myself... I'm lazy, give me a link! 2011-11-04T21:14:42 mcstar: Your bot seems to behave pretty sanely, unlike mine :/ 2011-11-04T21:15:10 actually, in chromium if you type aichallenge.org and press tab you can search for names instantly 2011-11-04T21:15:16 I wonder what I'm doing wrong. At this point, I just have a 'food' diffusion; sources are food (1000) and squares that aren't visible (200); diffusion is 0.25, and ants block the diffusion entirely. 2011-11-04T21:15:23 mcstar: Only if you're previously searched on the site 2011-11-04T21:15:34 but isnt it smart? 2011-11-04T21:15:39 i love chromium 2011-11-04T21:16:08 *** JorgeB has quit IRC (Ping timeout: 258 seconds) 2011-11-04T21:16:08 *** Antimony has quit IRC (Ping timeout: 260 seconds) 2011-11-04T21:16:28 nickjohnson: make heatmaps 2011-11-04T21:16:34 lericson: I am 2011-11-04T21:16:41 mcstar: Indeed :) 2011-11-04T21:16:42 and it looks good? 2011-11-04T21:17:45 *** Guest99491 is now known as ajf|offline 2011-11-04T21:18:15 *** ajf|offline is now known as Guest6756 2011-11-04T21:19:16 lericson: It looks more or less like it should, but it's hard to get detail with an ASCII heatmap that only has 5 levels :) 2011-11-04T21:19:31 nickjohnson: what language? 2011-11-04T21:19:35 Python 2011-11-04T21:19:53 i could have given you c++ rgb output 2011-11-04T21:19:54 code 2011-11-04T21:20:00 weird stuff. my ants are performing much worse since I've added some "cautious movement" to them, so they don't do obviously suicidal moves 2011-11-04T21:20:33 looks like being suicidal was better afterall. 2011-11-04T21:21:50 Hmmm... 2011-11-04T21:22:16 that's what i was afraid of 2011-11-04T21:22:19 I could generate images with PIL, but generating and displaying them is far too much work 2011-11-04T21:22:32 How do you visualize your heatmaps 2011-11-04T21:22:34 lol 2011-11-04T21:22:37 i use gwenview 2011-11-04T21:22:48 just zoom in it, and scroll with the mouse 2011-11-04T21:22:57 Or other ai state 2011-11-04T21:22:59 and the output is in ppm 2011-11-04T21:23:14 the simplest rgb image format ever 2011-11-04T21:23:16 hey 2011-11-04T21:23:22 use matplotlib 2011-11-04T21:23:24 any cool replays starring diffusion bots to watch? 2011-11-04T21:23:29 if youre on python, numpy or scipy has imsave 2011-11-04T21:23:35 I'd like to see what diffusion bots look like on the game 2011-11-04T21:23:59 *** Antimony has joined #aichallenge 2011-11-04T21:24:02 *** RvBDev has joined #aichallenge 2011-11-04T21:24:38 marijnfs: try plotting 1000 images with matplotlib 2011-11-04T21:24:49 it will slow down your DE 2011-11-04T21:25:26 afaik it doesnt have animation 2011-11-04T21:25:50 you can plot like you do in matlab to the same figure continuously 2011-11-04T21:25:55 but saving into images is very convenient and you can scroll throuhg tham prett y fast 2011-11-04T21:26:05 marijnfs: thats not good enough 2011-11-04T21:26:10 you lose previous frames 2011-11-04T21:26:10 and you only need a good number per second for a smooth movie 2011-11-04T21:26:24 *** gr_wip has quit IRC (Ping timeout: 260 seconds) 2011-11-04T21:26:30 you just want to see what happens 2011-11-04T21:26:33 not store it forever 2011-11-04T21:27:00 whatever, i know from experience that i would change it for a movie output 2011-11-04T21:27:05 f 2011-11-04T21:27:08 wouldnt 2011-11-04T21:27:21 *** avdg has quit IRC (Quit: Leaving.) 2011-11-04T21:27:28 mcstar: Displaying it is still awkward, though 2011-11-04T21:27:45 Oh, I guess you could just save them to disk and view them later, yeah 2011-11-04T21:27:58 *** paulwal has quit IRC (Ping timeout: 265 seconds) 2011-11-04T21:28:29 yep, as soon as the bot finished the turn 2011-11-04T21:28:53 with scipy its 1 function call 2011-11-04T21:29:02 *** avdg has joined #aichallenge 2011-11-04T21:29:05 in c++ it is a screenful 2011-11-04T21:29:19 because i had to write the float to hsv converter 2011-11-04T21:30:13 Hi All. New here. Am I in the right spot to ask some very basic questions? 2011-11-04T21:30:38 *** twymer has joined #aichallenge 2011-11-04T21:30:58 maybe 2011-11-04T21:31:00 you won't know if you don't ask 2011-11-04T21:31:43 I take it SciPy is available on the server? 2011-11-04T21:32:04 i wouldnt bet on it 2011-11-04T21:32:05 ok, I just started with this, and I picked Ruby as the language. Doesn't seem to be a grea choice as I am new to Ruby, plus the starter kit doesn't seem to be complete 2011-11-04T21:32:20 Anyone else here picked Ruby? 2011-11-04T21:32:21 it surely can be installed, but ask amstan or similar if it is 2011-11-04T21:32:58 there are several other masohists like you RvBDev 2011-11-04T21:33:28 i mean isnt it enough to cope with the "challenge"? 2011-11-04T21:33:35 i would want to make my task even harder 2011-11-04T21:33:41 wouldnt* 2011-11-04T21:33:44 heh 2011-11-04T21:33:59 *** jj_ has joined #aichallenge 2011-11-04T21:34:05 heh, nice. I have some very basic questions, like: can I output (debug) messages when I run the test script or tutorial (locally) 2011-11-04T21:34:28 Linux/Eclipse/Ruby 2011-11-04T21:34:32 Ahh, scipy imsave, awesome 2011-11-04T21:34:34 *** jj_ has quit IRC (Client Quit) 2011-11-04T21:34:47 amstan: what's the problem? 2011-11-04T21:35:05 *** pedrosorio_ has quit IRC (Quit: Page closed) 2011-11-04T21:35:19 *** marijnfs has quit IRC (Quit: leaving) 2011-11-04T21:35:24 Has anyone had a go at evolving ant programs using a GA? 2011-11-04T21:35:26 RvBDev: as long as you don't write them to stdout, yes 2011-11-04T21:35:33 Or genetic programming, rather 2011-11-04T21:35:53 *** k has joined #aichallenge 2011-11-04T21:36:13 ah really did cesteban show up again? 2011-11-04T21:36:17 *** h_ has joined #aichallenge 2011-11-04T21:36:31 @luizribeiro so I should write them to a txt file or something ? 2011-11-04T21:36:32 RvBDev: No! 2011-11-04T21:36:39 @seen cesteban 2011-11-04T21:36:39 mcstar: cesteban was last seen in #aichallenge 2 weeks, 0 days, 8 hours, 29 minutes, and 10 seconds ago: I see you redirected http://ai-contest.com/ to the new ants site. I need to access to the old site (planet wars), do you know if there is any link I can follow? 2011-11-04T21:36:51 antimatroid: i don't know how to make the mapgen to be symmetric 2011-11-04T21:37:33 have your maps got symemtry information? like rotational/tessellation symmetric, type of tesselation if rotational etc? 2011-11-04T21:37:41 *** k has joined #aichallenge 2011-11-04T21:37:48 *** mikepavone has quit IRC (Remote host closed the connection) 2011-11-04T21:38:06 *** k is now known as Guest5752 2011-11-04T21:38:38 antimatroid: i'm just modifying your mapgen 2011-11-04T21:38:50 but how :P 2011-11-04T21:39:15 well.. i want to fill the map with random pixels, then apply automata on it 2011-11-04T21:39:22 how do i do that symmetrically? 2011-11-04T21:39:24 *** Migi32 has quit IRC (Remote host closed the connection) 2011-11-04T21:39:39 the code for that works already, but make_symmetric function doesn't seem to do it 2011-11-04T21:40:44 make symmetric assumes everything but the basis locs are just land i think 2011-11-04T21:41:01 *** h_ has quit IRC (Ping timeout: 265 seconds) 2011-11-04T21:41:03 RvBDev: if you want, you can write them to a text file 2011-11-04T21:41:09 RvBDev: but you can also write them to stderr 2011-11-04T21:41:25 (personally, I'm going with the text file option) 2011-11-04T21:41:53 ok, thanks 2011-11-04T21:42:30 antimatroid: so... what? 2011-11-04T21:43:38 amstan: actually i think it assumes everything not in the basis is water 2011-11-04T21:43:47 it's quite messy looking back on it :P 2011-11-04T21:45:02 *** roflmao has quit IRC (Quit: Leaving.) 2011-11-04T21:45:10 *** bmh has joined #aichallenge 2011-11-04T21:45:39 *** skryptosaurus has joined #aichallenge 2011-11-04T21:46:11 antimatroid: yes.. i have noticed 2011-11-04T21:46:20 antimatroid: so.. what do i do to create the map then? 2011-11-04T21:46:28 also, what's a basis? 2011-11-04T21:48:00 a1k0n: I see you're moving up in the world -- http://aichallenge.org/visualizer.php?game=58238&user=986&turn=322 What's going on with your fighting at turn 323? 2011-11-04T21:48:00 Radicals and varieties, Theory of Radicals (Eger, 1982) 2011-11-04T21:48:53 *** Antimony has quit IRC (Ping timeout: 244 seconds) 2011-11-04T21:49:16 Colloq. Soc. Math. János Bolyai (Proc. Szekszárd Conference on Radicals, 1991) 2011-11-04T21:49:31 amstan: your prof visited hungary quite a few times 2011-11-04T21:49:35 antimatroid: 2011-11-04T21:49:37 sry 2011-11-04T21:50:48 *** hjax has joined #aichallenge 2011-11-04T21:51:06 give me a minute, lunch is finished and now i'm eating :P 2011-11-04T21:51:40 lunch? almost 10 pm here 2011-11-04T21:51:43 lunch? What time zone are you in? 2011-11-04T21:52:07 he's deown unda 2011-11-04T21:52:23 +11 at the moment 2011-11-04T21:52:26 where the women glow an men plundeeeer 2011-11-04T21:52:27 ah, so a criminal! 2011-11-04T21:52:34 a1k0n: you stopped making the nz jokes :P 2011-11-04T21:52:37 UTC-8, representing 2011-11-04T21:52:49 <3 daylight savings and summer 2011-11-04T21:53:12 my computer clock is 1 hour early 2011-11-04T21:56:48 amstan: a basis is a set of locations that are not symmetrically equivalent to each other but every location is symmetrically equivalent to a location in the basis 2011-11-04T21:57:13 *** cyphase has quit IRC (Quit: http://www.cyphase.com/) 2011-11-04T21:58:13 *** hjax has quit IRC (Remote host closed the connection) 2011-11-04T21:59:07 gn 2011-11-04T21:59:07 *** hjax has joined #aichallenge 2011-11-04T21:59:11 *** mcstar has quit IRC (Quit: WeeChat 0.3.6) 2011-11-04T21:59:29 well my bots current features are workingg: http://213.88.39.97:2080/replay.9870 2011-11-04T21:59:40 now i need to add exploration :) 2011-11-04T22:01:16 this is why i need pathing, never gathered any food because all starting ants got stuck 2011-11-04T22:01:21 http://213.88.39.97:2080/replay.9873 2011-11-04T22:02:13 *** cyphase has joined #aichallenge 2011-11-04T22:02:18 *** sigh has joined #aichallenge 2011-11-04T22:03:32 maze maps <3 2011-11-04T22:05:06 antimatroid: http://paste.aichallenge.org/nvFLJ/ 2011-11-04T22:05:11 *** Antimony has joined #aichallenge 2011-11-04T22:05:11 something like that 2011-11-04T22:05:19 i really need to write a lot of code dedicated to mazes 2011-11-04T22:05:41 *** icefox has quit IRC (Ping timeout: 252 seconds) 2011-11-04T22:06:01 maze maps are especially evil since the distance from A to B on a 150x150 map is often more like 1500 2011-11-04T22:06:15 (well, not really, but still, it's far) 2011-11-04T22:06:16 amstan: i could try and just hack the make symmetric function for you for the moment? 2011-11-04T22:06:21 otherwise you'll need to wait 2011-11-04T22:06:31 a1k0n: :D 2011-11-04T22:06:51 imagine if i made it 1 width corridors and a perfect maze 2011-11-04T22:06:57 that'd make for some crazy game play 2011-11-04T22:07:00 yeah that would seriously suck 2011-11-04T22:07:05 combat would be pretty... easy 2011-11-04T22:07:11 amstan: that's not symmetric right? 2011-11-04T22:07:12 interesting though 2011-11-04T22:07:19 a1k0n: don't forget battling over water :P 2011-11-04T22:07:25 leave enough space between them so only ants in the same tunnel can attack 2011-11-04T22:07:31 ooh, right 2011-11-04T22:07:33 a1kon: i get the feeling maze maps will timeout bfs if i try to path to something that is in reality far away 2011-11-04T22:07:52 hjax: use timers 2011-11-04T22:07:58 hjax, not if you only count intersections 2011-11-04T22:08:11 as points 2011-11-04T22:08:11 janzert: that's the problem :P 2011-11-04T22:08:16 nodes* 2011-11-04T22:08:24 ok :) 2011-11-04T22:08:29 *** icefox has joined #aichallenge 2011-11-04T22:08:45 I don't need to try and puzzle over how I'm not seeing the symmetry then 2011-11-04T22:08:47 i think that ill just only apply bfs to a small area around the target and ant, so if it cannot connect then the nt gives up 2011-11-04T22:09:16 ant* 2011-11-04T22:09:35 bfs on a 200*200 maze map should take roughly.. 1-2ms in worst case 2011-11-04T22:10:07 can be as little as about 0.1ms, for brute force optimizations 2011-11-04T22:10:23 bmh: oh, i missed your comment. i'm not sure what you mean on turn 323, but my ants are totally unaware of enemy ants 2011-11-04T22:10:25 burny, i havent got to timing it yet (or writing it) 2011-11-04T22:10:37 a1k0n: oh, you don't fight? 2011-11-04T22:10:57 *** hjax_ has joined #aichallenge 2011-11-04T22:11:07 i run for enemy hills and gather food and that's it 2011-11-04T22:11:19 er, na.. guess more like 0.3ms minimum, without non-brute-force optimizations 2011-11-04T22:11:42 burny, in python? 2011-11-04T22:11:54 no clue about python.. in c 2011-11-04T22:11:55 Um, why does this replay say I survived, even though I clearly didn't? 2011-11-04T22:11:57 http://aichallenge.org/visualizer.php?game=56759&user=3845 2011-11-04T22:12:05 amstan: http://pastebin.com/i4cC55ek try these, the first function is new the other two you will need to replace 2011-11-04T22:12:24 antimatroid: you have an ant left 2011-11-04T22:12:24 i'm not positive this will be perfect though :\ 2011-11-04T22:12:25 er 2011-11-04T22:12:28 burny: python is slow, I'm thinking 20ms per ant I use bfs on 2011-11-04T22:12:31 Antimony: you have an ant left 2011-11-04T22:13:30 or you could really just chuck those first two functions in make_symmetric :P 2011-11-04T22:13:37 i used to count water and land squares i think 2011-11-04T22:14:01 antimony: because you still had one ant left? 2011-11-04T22:14:41 you could theoretically have a super ninja ant that can take out the other guy's hill, but in any case you wouldn't get as many points 2011-11-04T22:14:51 *** hjax has quit IRC (Ping timeout: 265 seconds) 2011-11-04T22:14:52 actually i guess you would 2011-11-04T22:14:56 :p 2011-11-04T22:15:15 so rank stabilized is bullshit! 2011-11-04T22:15:19 im going to suicide bomb hills 2011-11-04T22:15:19 i would love to see how how someone could get a bot which didn't collect food 2011-11-04T22:15:28 high* 2011-11-04T22:15:41 "fastbot" 2011-11-04T22:15:51 i'm curious of people's "defense" strategy? 2011-11-04T22:15:57 *** paulwal has joined #aichallenge 2011-11-04T22:16:15 just make sure you can get an ant onto the hill as fast as any enemy? 2011-11-04T22:16:24 antimatroid: eventually my bot will have paranoid hill defense 2011-11-04T22:16:30 *** ikaros has quit IRC (Quit: Ex-Chat) 2011-11-04T22:16:40 do we tell people how much food they have in their hive? 2011-11-04T22:16:46 that would be useful information 2011-11-04T22:16:53 my defense strategy: one i've collected enough food i'll have a bunch of aimless ants wandering around the hive 2011-11-04T22:17:07 and all the enemy ants who come to attack me i ignore and they bump into them 2011-11-04T22:17:08 a1k0n: i was hoping for something more tactful :P 2011-11-04T22:17:23 like setting up a perimeter around your hill where you don't actually need it to be in sight 2011-11-04T22:17:37 just know that no enemy could be near it because you have a perimeter around it etc. 2011-11-04T22:17:52 mine: build box around hive, if ants get too close send ants to counter, as ants come out of my hill I can repair my box 2011-11-04T22:18:25 a1k0n: you got to 21st with a bot that stupid? 2011-11-04T22:18:30 same as attacking enemy hills, ideally you'd like to send ants in from all possible directions 2011-11-04T22:18:35 antimatroid: nope.. still nothing 2011-11-04T22:18:47 *** hjax_ has quit IRC (Remote host closed the connection) 2011-11-04T22:18:50 amstan: hmm, i don't really have much time sorry :\ 2011-11-04T22:18:54 i need to start this exam :P 2011-11-04T22:19:12 anti: I'm going to go with.. if an enemy ant can get to my hill nearly as fast as I can: determine the value of defending the hill, vs preserving random ants: and if defend is better, then send ants nearest to where the enemy ant will be, to the intercept point 2011-11-04T22:19:40 antimatroid: ok 2011-11-04T22:19:44 bmh: fraid so 2011-11-04T22:20:14 does anyone know why i'd be getting this when trying to run "java -jar visualizer.jar" on Mac OS X? 2011-11-04T22:20:14 Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file 2011-11-04T22:20:16 a1k0n: sweet. I have high hopes for rolling the best Haskell bot 2011-11-04T22:20:48 bmh: haskell isn't even in the top 100 :P 2011-11-04T22:20:56 antimatroid: exactly. 2011-11-04T22:21:07 also, we've exceeded 5000 entries by the looks of it 2011-11-04T22:21:15 we'll surpass planet wars entries soon 2011-11-04T22:21:25 do you guys have the hardware for this? 2011-11-04T22:21:49 it's a question of $'s, not HW's 2011-11-04T22:22:14 it's on EC2 2011-11-04T22:22:28 oh 2011-11-04T22:22:37 Why isn't it on AppEngine? :-P 2011-11-04T22:22:39 * bmh kids 2011-11-04T22:23:18 seriously 2011-11-04T22:23:40 Hjax 2011-11-04T22:23:55 I'm happy to see I'm not the only person using Tcl. There's one other person. 2011-11-04T22:24:01 My bot uses the box defence and it fails miserably. I think that tactic is actually hurting performance 2011-11-04T22:24:36 *** Danthar has joined #aichallenge 2011-11-04T22:24:42 box defense? 2011-11-04T22:24:57 hi, anyone still awake over here? got a quick question about running the C# package 2011-11-04T22:25:52 Im not sure, so im asking here, when using C# can i use the System.Linq namespace? 2011-11-04T22:28:02 *** userjjb has joined #aichallenge 2011-11-04T22:28:58 *** Antimony has quit IRC (Ping timeout: 258 seconds) 2011-11-04T22:29:02 Danthar: try it? 2011-11-04T22:30:29 *** savaron has quit IRC (Quit: Page closed) 2011-11-04T22:30:29 *** Ellos has joined #aichallenge 2011-11-04T22:30:31 *** RvBDev has quit IRC (Quit: Page closed) 2011-11-04T22:30:36 yeah i guess 2011-11-04T22:30:37 good day 2011-11-04T22:30:47 <-- zzzzzzz n8 2011-11-04T22:30:54 *** Danthar has quit IRC (Quit: Page closed) 2011-11-04T22:35:06 *** LouisMartin has quit IRC (Quit: Page closed) 2011-11-04T22:38:47 *** LouisMartin has joined #aichallenge 2011-11-04T22:40:25 Watching replays, I see a bunch of kills which don't happen to be triggered by Attack range invasion. What am I missing? 2011-11-04T22:40:50 In the visualizer, the little circle around the ant is that attack range, right? 2011-11-04T22:40:52 press the play button to see where the ants actually moved just before combat 2011-11-04T22:41:08 the visualizer shows a little line between ants which will enter combat _after they move_ 2011-11-04T22:41:11 ants suiciding onto each other? 2011-11-04T22:41:14 and then they disappear when they die before the next turn 2011-11-04T22:41:26 oh, yeah and theres that 2011-11-04T22:42:03 I mean between different team. 2011-11-04T22:42:19 okay, I'll go take a look at what you're talking about aikon 2011-11-04T22:42:34 you'll see them move toward each other and fade out simultaneously 2011-11-04T22:45:59 *** Antimony has joined #aichallenge 2011-11-04T22:46:12 *** bmh has quit IRC (Quit: bmh) 2011-11-04T22:46:28 and I did. Thanks. 2011-11-04T22:46:41 a1k0n: when are you adding battles to your bot? 2011-11-04T22:48:00 *** skryptosaurus has quit IRC (Quit: Page closed) 2011-11-04T22:49:25 *** ecarpenter84 has joined #aichallenge 2011-11-04T22:49:46 antimatroid: i'm no ai expert but isn't that a bad question? 2011-11-04T22:50:01 antimatroid: isn't it better to find a solution generic enough that you don't need to "add battles" 2011-11-04T22:50:16 i finally beat a decent bot 2011-11-04T22:50:18 heh, good luck with that :P 2011-11-04T22:50:46 good combat behavior: if we are many, attack - if they are more, fall back 2011-11-04T22:50:58 so why not just have ants smell each other 2011-11-04T22:51:05 * lericson would do that if he cba'd 2011-11-04T22:51:07 you're going to do better with some kind of game tree 2011-11-04T22:51:21 backward induction is king 2011-11-04T22:52:41 seems like an expensive calculation 2011-11-04T22:52:42 Regarding focus battle resolution, bots at 3 tiles of distance (let's say on the Y axis) would kills each others while the AttackRadius2 is 5. Wouldn't 3 tiles of distances correspond to an AttackRadius2 of 9 ? 2011-11-04T22:53:09 the root of 5 is ~2.23 2011-11-04T22:53:21 does the engine round it to 3 in battle resolution? 2011-11-04T22:53:54 expensive yes, better than everything else, yep :P 2011-11-04T22:54:11 LouisMartin: it's picked so rounding shouldn't be an issue 2011-11-04T22:54:22 but also backwards induction requires that you know what your opponents moves will be 2011-11-04T22:54:24 if you can cache enough map data for a few turns. you can use your extra time for more combat analysing 2011-11-04T22:54:27 which is a misconstrual of the problem imo :p 2011-11-04T22:54:34 Can't wait to stop asking so much questions about everything. Feels like I'm the biggest bugger in the place. .. That said, I'll gladly help others when I'll know enough... 2011-11-04T22:54:36 its a matter of load balancing what you need to do and what you can afford to do 2011-11-04T22:56:10 *** bmh has joined #aichallenge 2011-11-04T22:56:10 *** bmh has joined #aichallenge 2011-11-04T22:56:42 antimatroid: right now 2011-11-04T22:56:59 but i'm mostly helping my 3yo play braid 2011-11-04T22:57:11 a1k0n: that's awesome. 2011-11-04T22:57:21 "i want to do it by myself!" .. 30 seconds go by .. "dad can you do it?" 2011-11-04T22:57:45 he did manage to clear the save and get most of the pieces in the first world by myself without me even seeing it 2011-11-04T22:58:01 Have you thought of introducing him to Lemmings? 2011-11-04T22:58:11 antimatroid: I don't understand. If bots at distance of 3 kill each others, how are the bots predict if a move could trigger battle or not based on the AttackRadius2 of 5 since battle apparently happens at radius2 of 9 ? 2011-11-04T22:58:13 he's pretty good with the mouse but not that good 2011-11-04T22:58:20 but that is a good idea 2011-11-04T22:58:30 I was playing Lemmings at 5 or so 2011-11-04T22:58:37 yeah 2011-11-04T22:58:51 time flies! 2011-11-04T22:59:38 >played lemmings at five years of age 2011-11-04T22:59:40 >thinks he's old 2011-11-04T22:59:40 :P 2011-11-04T22:59:46 *how can the bots predict 2011-11-04T23:00:02 lericson: doesn't everyone feel old when they turn 25? 2011-11-04T23:00:12 i guess 2011-11-04T23:00:14 *** bmh is now known as bmh_away 2011-11-04T23:00:31 bmh: only the unwise. 2011-11-04T23:00:36 you don't get to ride youth fares anymore :( 2011-11-04T23:01:29 <-27 feels old 2011-11-04T23:01:49 maybe but you can still ride youth ^ ^ 2011-11-04T23:01:58 <-10 hey i just got here 2011-11-04T23:02:45 ecarpenter84: wait for 60 and then tell me how old you were at 27. then remind me again when you reach your life expectancy of ~75. lol 2011-11-04T23:03:12 lol 2011-11-04T23:03:15 Scumbag Life: Young between 0 and 25, Old from 25 to 100. 2011-11-04T23:03:40 the last years of youth life.. 2011-11-04T23:03:55 antimatroid: I don't understand. If bots at distance of 3 kill each others, how are the bots predict if a move could trigger battle or not based on the AttackRadius2 of 5 since battle apparently happens at radius2 of 9 ? 2011-11-04T23:04:36 I feel 35 is the new 25. 2011-11-04T23:04:38 LouisMartin: i doubt spamming your question helps 2011-11-04T23:04:52 *** Antimony has quit IRC (Ping timeout: 255 seconds) 2011-11-04T23:05:08 i feel 75 is the new 25 2011-11-04T23:05:12 hmm got a noob question here 2011-11-04T23:05:17 this lifesytle i adopted, will it ever end 2011-11-04T23:05:44 with the play_one_game_live.cmd i constantly get a java exception... 2011-11-04T23:06:34 https://www.google.com/search?q=adversarial+search 2011-11-04T23:06:34 lericson: Uh. antimatroid is busy with more important things than waiting for my reply, so I repost to increase the chance he sees my reply. Apparently AI is not the only field you're not an expert into eh? ;) 2011-11-04T23:07:10 that query should return some useful methods for predicting possible outcomes 2011-11-04T23:07:20 just a nullpointer exception that is 2011-11-04T23:07:24 the top bots seem to minimax well 2011-11-04T23:07:43 *** twymer has quit IRC (Ping timeout: 258 seconds) 2011-11-04T23:07:56 i see some references to org.mozilla.javascript 2011-11-04T23:08:12 is the map stored, rows then cols 2011-11-04T23:08:14 or cols then rows 2011-11-04T23:09:51 *** Ionic_Groove has quit IRC (Ping timeout: 252 seconds) 2011-11-04T23:09:59 http://aichallenge.org/specification.php#Bot-Input 2011-11-04T23:10:10 *** twymer has joined #aichallenge 2011-11-04T23:14:21 *** icefox has quit IRC (Quit: icefox) 2011-11-04T23:14:35 *** TheLinker has joined #aichallenge 2011-11-04T23:15:39 *** icefox has joined #aichallenge 2011-11-04T23:15:40 anyone else here using the numpy array 2011-11-04T23:15:53 *** icefox has quit IRC (Client Quit) 2011-11-04T23:16:19 ecarpenter84, me 2011-11-04T23:16:35 im trying to replace my dict with a numpy for speed reasons 2011-11-04T23:16:50 is there a for loop that iterates all of it 2011-11-04T23:16:56 or do i need to loop with a range 2011-11-04T23:17:17 for position in numpy: numpy[position] doenst work 2011-11-04T23:17:30 oh. duh for x,y in numpy 2011-11-04T23:17:35 ecarpenter84, in that loop, position is the item 2011-11-04T23:18:05 can i pm you 2011-11-04T23:18:28 yea, sure 2011-11-04T23:19:04 *** ccc has joined #aichallenge 2011-11-04T23:19:26 *** Antimony has joined #aichallenge 2011-11-04T23:24:24 *** Rinum has joined #aichallenge 2011-11-04T23:24:30 DAMN YOU C!!! 2011-11-04T23:25:29 TIL -1%2 = -1 in C 2011-11-04T23:26:46 So does my calculator... 2011-11-04T23:27:01 probably written in C eh? ;) 2011-11-04T23:28:00 *** mnstrspeed has joined #aichallenge 2011-11-04T23:28:08 wait - how can that be - isn't it 1 2011-11-04T23:28:14 exactly 2011-11-04T23:28:19 it should be 1 2011-11-04T23:28:40 oh! you have a -ve sign before 1%2 2011-11-04T23:28:57 lol 2011-11-04T23:29:20 *** AndrewBC has quit IRC (Ping timeout: 260 seconds) 2011-11-04T23:29:42 well python always gives a positive # lol 2011-11-04T23:30:14 I've been transferring my code over to C++ for a speed boost and it took forever to figure out why my bot kept crashing x.x 2011-11-04T23:30:31 all because of -1%2 = -1 lol 2011-11-04T23:30:48 *** grandiose has joined #aichallenge 2011-11-04T23:31:55 *** Cyb has joined #aichallenge 2011-11-04T23:32:07 if python give positive then its wrong actually, because there it is -1 2011-11-04T23:32:11 I guess technically it is supposed to be negative 2011-11-04T23:32:12 yeah 2011-11-04T23:32:39 oh python... I hope you fixed that in 3 2011-11-04T23:32:54 i just now checked in python too - strange it give +1, i wonder what it is the answer in exact mathematics 2011-11-04T23:33:08 the correct answer is - 2011-11-04T23:33:15 python always gives + 2011-11-04T23:33:17 so its a bug in python 2011-11-04T23:33:32 I don't think it's a bug? probably intentional 2011-11-04T23:33:36 *** iris1 has quit IRC (Quit: iris1) 2011-11-04T23:33:44 or maybe mathematically there is no such thing as remainder for a -ve number 2011-11-04T23:34:09 yeah we need to ask some math geeks about this 2011-11-04T23:34:46 http://stackoverflow.com/questions/1907565/c-python-different-behaviour-of-the-modulo-operation 2011-11-04T23:36:03 janzert: thanks! 2011-11-04T23:37:53 hmm, i really need time to sink in all that, good stuff, thanks 2011-11-04T23:38:45 *** bmh_away is now known as bmh 2011-11-04T23:39:42 the solution to the problem is interesting.... instead of r%rows you have to do ((r%rows)+rows)%rows 2011-11-04T23:40:19 krishna- are you there? 2011-11-04T23:40:59 *** TheLinker has quit IRC (Quit: Bye) 2011-11-04T23:42:12 janzert: I really hate to admit it, but Python got this one right 2011-11-04T23:42:31 Tcl gives 1 also for -1%2 2011-11-04T23:45:22 *** Cyb has quit IRC (Ping timeout: 255 seconds) 2011-11-04T23:46:02 janzert: i dunno if you saw before, but i got three games basically simultaneously. is that supposed to happen? 2011-11-04T23:46:20 Rinum: that first %rows is redundant 2011-11-04T23:46:53 oh, unless r < -rows 2011-11-04T23:46:55 i see 2011-11-04T23:47:20 a1k0n: yeah, they were all legitimate 2011-11-04T23:47:30 i got picked for other people's games? 2011-11-04T23:47:55 yes, the first one was 'your' game. the next two you got pulled into 2011-11-04T23:48:24 ah 2011-11-04T23:49:39 *** grandiose has quit IRC (Quit: Leaving.) 2011-11-04T23:50:51 *** amstan_ has joined #aichallenge 2011-11-04T23:50:51 *** ChanServ sets mode: +o amstan_ 2011-11-04T23:51:47 *** twymer has quit IRC (Ping timeout: 256 seconds) 2011-11-04T23:52:05 *** amstan has quit IRC (Ping timeout: 240 seconds) 2011-11-04T23:56:52 *** retybok_ has quit IRC (Ping timeout: 256 seconds)