--- Log opened Mon Oct 01 00:00:41 2012 20121001 00:06:40-!- Alarantalara [~Adium@CPEc0c1c09e8055-CM00252eac6d62.cpe.net.cable.rogers.com] has joined #wesnoth-umc-dev 20121001 00:07:53< Alarantalara> mattsc: Are you available? 20121001 00:08:28< mattsc> Alarantalara: for a little while, yes 20121001 00:10:05< Alarantalara> I've been busy with a paper recently so haven't been doing much with the AI, but after playing a game yesterday I became curious as to what was happening with protecting the villages on the left 20121001 00:10:40< Alarantalara> The game was versus a human on a different map, but the ownership of a single village turned out to be critical in deciding victory 20121001 00:11:16< mattsc> How much do you know about the refactoring I have done? 20121001 00:12:12< Alarantalara> I looked at it when you first did it, but haven't gone over it in detail 20121001 00:12:23< mattsc> in a nutshell, I am replacing the 'protect center', 'hold left' and 'rush right' specialized CAs by more general 'rush' and 'hold/retreat' CAs that can be configured by passing them parameters. 20121001 00:13:14< mattsc> Have a look at the code at line 2179 20121001 00:13:37< mattsc> (you probably need to sync though, I made a commit 10min ago in which I deleted a couple functions) 20121001 00:14:14< mattsc> So the parameters get passed in tables, and there is a table for each part of the map. 20121001 00:15:00< Alarantalara> OKay, I see it 20121001 00:15:12< mattsc> The goal I have in mind with that is to then add a "supervisor function" that adaptively makes the decision which part of the map to attack in or protect most urgently. 20121001 00:15:45< mattsc> That can now easily be done by changing the order of those tables, and by changing their parameters. 20121001 00:16:14< Alarantalara> I see 20121001 00:16:24< mattsc> The problem is now to come up with a way to teach Fred to make those kinds of decisions. 20121001 00:16:29< mattsc> That's where I am atm 20121001 00:16:51< mattsc> *I am at atm 20121001 00:17:48< mattsc> It's slow progress at the moment for me also because I have a meeting that I am preparing for on Tuesday and I have family visiting until Thursday. 20121001 00:18:04< mattsc> After that my schedule should free up a little. 20121001 00:18:07< Alarantalara> Does this mean you need a way to reassign units from one side to another depending on where they are needed, or will that already happen? 20121001 00:18:43< mattsc> That is already happening, but I need to add a better decision process... 20121001 00:19:05< mattsc> If you go down to the same section of the Hold CA, line 2347 20121001 00:19:50< mattsc> For center and left, I have set one_unit_per_call = true. That means that the CA will move one unit at a time, then reconsider whether it should better use them elsewhere. 20121001 00:20:21< mattsc> You can also see that there is a certain overlap in the 'filter_units' areas 20121001 00:20:30< mattsc> So, in a very primitive way, it is done there already. 20121001 00:21:28< mattsc> What I am shooting for is a function that sets up the 'cfgs' array adaptively, depending on the situation on the map. 20121001 00:22:03< mattsc> (As a side effect, that can then also be used to let the AI do the rush through the middle or left occasionally) 20121001 00:22:58< Alarantalara> So in the case that the enemy is doing something crazy like that game where AI0867 moved everything up the left, the collect area for the left hold would expand until it was grabbing units from everywhere? 20121001 00:23:18< mattsc> Exactly 20121001 00:24:22< mattsc> Theoretically this is very easy to do now (that's why I did all this refactoring), the hard part is setting up the decision process itself. 20121001 00:24:56< mattsc> Well, it'll be easy in a case like AI0867's game, but much harder if there are some units everywhere 20121001 00:27:56< Alarantalara> I see the areas overlap. I'll have to see how it assigns units when there is overlap 20121001 00:28:03< Alarantalara> bad sentence 20121001 00:28:09< mattsc> I got it ... 20121001 00:28:22< mattsc> Well, currently it takes them one area at a time. 20121001 00:28:45< mattsc> When it considers the position in the first area strong enough, it moves on to the second. 20121001 00:28:57< mattsc> That's one of the next things I want to change. 20121001 00:29:57< mattsc> So, currently the logic is: 1. protect the center, so that the enemy cannot get to my leader 20121001 00:30:18< mattsc> 2. If done in the center, protect the villages on the left, so that I don't lose my gold advantage 20121001 00:30:29< Alarantalara> And attack on the right with whatever is left? 20121001 00:30:30< mattsc> 3. once that is done, rush on the right with all units still available. 20121001 00:30:34< mattsc> yep 20121001 00:31:05< mattsc> That works pretty well against the RCA AI, but it's too simplistic against a human opponent 20121001 00:33:27< mattsc> Btw, it's always been that way. The refactoring was so that it is now possible to change that on the fly. 20121001 00:35:47< Alarantalara> Now that the areas can be changed more or less at will, I see. 20121001 00:37:00< Alarantalara> So the next step would be to create the cfgs according to the current situation? 20121001 00:38:20< mattsc> yes 20121001 00:42:16< Alarantalara> That's about what I was looking to do next for recruiting - look at the areas of interest and decide what they want and try to recruit units to help with that area, so it makes sense to try and get the areas into the global area so that recruiting can look at it too 20121001 00:42:58< Alarantalara> Which is another way of saying: This is wonderful! 20121001 00:43:31< mattsc> :) Thanks. 20121001 00:45:04< mattsc> Currently, the cfgs are not global yet, but I think that needs to be done anyway, because there needs to be some interaction between the rush and hold CAs. 20121001 00:45:26< mattsc> Btw, what text editor are you using for Wesnoth files? 20121001 00:45:57< Alarantalara> TextWrangler mostly 20121001 00:47:10< mattsc> Ok. That's what I switched to some while ago. 20121001 00:47:31< Alarantalara> I've used TextMate at work and have been known to use vim 20121001 00:53:20< Alarantalara> Do you have "Strip Trailing Whitespace" turned off then? I've noticed it appears in the AI on occaision 20121001 00:54:52< mattsc> It used to appear before I switched to Text Wrangler... 20121001 00:55:24< mattsc> 17 days ago (according to github) I systematically loaded and saved all files to get rid of them ... 20121001 00:55:54< mattsc> So if you still see any now, please let me know and I'll need to look into what's going on 20121001 00:56:08< Alarantalara> Ah, so not that long ago. 20121001 00:56:42< mattsc> Nope. (Well, I made the switch a little before that, but didn't do the load/save everything until then) 20121001 00:56:56< mattsc> But yes, rather recently. 20121001 00:57:25< Alarantalara> Yes, I had it turned off briefly, so that I wouldn't drop huge random changes for a bit 20121001 00:57:53< mattsc> Much appreciated 20121001 00:58:48< mattsc> Well, I'll have to sign off soon. I'll probably be back on later tonight. Anything else we should discuss right now? 20121001 00:58:59< mattsc> As I said, I should have a bit more time again starting Thursday. 20121001 00:59:34< Alarantalara> Not really, I just wanted to see where things were since I've been doing exactly nothing on it for the last week or so 20121001 01:00:29< mattsc> Sounds good. Thanks for the interest. And feel free to fiddle with any of that. I'm always happy if people do my work for me. :) 20121001 01:06:51-!- mattsc [~mattsc@d154-20-32-241.bchsia.telus.net] has quit [Quit: bye] 20121001 01:52:47-!- Alarantalara [~Adium@CPEc0c1c09e8055-CM00252eac6d62.cpe.net.cable.rogers.com] has quit [Quit: Leaving.] 20121001 03:19:19-!- vultraz [~chatzilla@124.109.10.167] has quit [Ping timeout: 260 seconds] 20121001 03:35:28-!- loonybot [~loonybot@wesnoth/bot/loonybot] has quit [Remote host closed the connection] 20121001 03:52:45-!- Alarantalara [~Adium@CPEc0c1c09e8055-CM00252eac6d62.cpe.net.cable.rogers.com] has joined #wesnoth-umc-dev 20121001 03:52:45-!- Alarantalara [~Adium@CPEc0c1c09e8055-CM00252eac6d62.cpe.net.cable.rogers.com] has quit [Client Quit] 20121001 04:10:21-!- vultraz [~chatzilla@124.109.10.167] has joined #wesnoth-umc-dev --- Log opened Mon Oct 01 06:51:21 2012 20121001 06:51:40-!- lobby [~wesnoth@wesnoth/bot/lobby] has joined #wesnoth-umc-dev 20121001 06:51:40-!- Topic for #wesnoth-umc-dev: Wesnoth-UMC-Dev Project discussion and support channel | http://wesnoth-umc-dev.ai0867.net | Staff: AI0867, Espreon | Blog: http://wesnoth-umc-dev.ai0867.net/blog/ | IRC logs: http://irclogs.wesnoth.org, http://irclogs.ai0867.net 20121001 06:51:40-!- Topic set by shadowm [] [Mon Aug 27 11:27:23 2012] 20121001 06:51:40[Users #wesnoth-umc-dev] 20121001 06:51:40[@ChanServ ] [ Espreon] [ janebot ] [ shadowm ] 20121001 06:51:40[+shikadibot] [ esr ] [ lobby ] [ shadowm_laptop] 20121001 06:51:40[ AI0867 ] [ fabi ] [ loonycyborg] [ vultraz ] 20121001 06:51:40[ csarmi ] [ iwaim_ ] [ melinath ] [ wesbot ] 20121001 06:51:40-!- Irssi: #wesnoth-umc-dev: Total of 16 nicks [1 ops, 0 halfops, 1 voices, 14 normal] 20121001 06:51:40-!- Home page for #wesnoth-umc-dev: http://wesnoth-umc-dev.ai0867.net 20121001 06:52:01-!- Channel #wesnoth-umc-dev created Mon Mar 31 16:51:24 2008 20121001 06:53:46-!- Irssi: Join to #wesnoth-umc-dev was synced in 140 secs 20121001 07:08:48-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has quit [Quit: SNOAR D;] 20121001 07:28:51-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-umc-dev 20121001 09:06:02-!- vultraz [~chatzilla@124.109.10.167] has quit [Ping timeout: 255 seconds] 20121001 09:09:13-!- vultraz [~chatzilla@124.109.10.167] has joined #wesnoth-umc-dev 20121001 09:59:16-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has quit [Quit: snoar again] 20121001 10:52:48-!- loonybot [~loonybot@46.138.72.79] has joined #wesnoth-umc-dev 20121001 10:52:48-!- loonybot [~loonybot@46.138.72.79] has quit [Changing host] 20121001 10:52:48-!- loonybot [~loonybot@wesnoth/bot/loonybot] has joined #wesnoth-umc-dev 20121001 10:52:51-!- mode/#wesnoth-umc-dev [+v loonybot] by ChanServ 20121001 12:16:35-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth-umc-dev 20121001 13:05:59-!- Netsplit *.net <-> *.split quits: @ChanServ 20121001 13:07:24-!- Netsplit over, joins: @ChanServ 20121001 15:53:42-!- vultraz [~chatzilla@124.109.10.167] has quit [Read error: Connection reset by peer] 20121001 15:54:22-!- vultraz [~chatzilla@124.109.10.167] has joined #wesnoth-umc-dev 20121001 16:27:52-!- fabi is now known as fendrin 20121001 20:08:13-!- skyfaller [~skyfaller@ool-43551e75.dyn.optonline.net] has joined #wesnoth-umc-dev 20121001 20:08:13-!- skyfaller [~skyfaller@ool-43551e75.dyn.optonline.net] has quit [Changing host] 20121001 20:08:13-!- skyfaller [~skyfaller@wikipedia/Skyfaller] has joined #wesnoth-umc-dev 20121001 21:28:58-!- fendrin_ [~fabi@88-134-46-58-dynip.superkabel.de] has joined #wesnoth-umc-dev 20121001 21:31:04-!- fendrin [~fabi@wesnoth/developer/fendrin] has quit [Ping timeout: 260 seconds] 20121001 21:37:42-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-umc-dev 20121001 22:53:49-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [Ping timeout: 246 seconds] 20121001 23:56:29-!- AI0867 [~ai@wesnoth/developer/ai0867] has quit [Ping timeout: 246 seconds] 20121001 23:56:38-!- AI0867 [~ai@wesnoth/developer/ai0867] has joined #wesnoth-umc-dev 20121001 23:57:11-!- shikadibot [~shikadi@wesnoth/umc-dev/bot/shikadibot] has quit [Ping timeout: 246 seconds] 20121001 23:57:19-!- shikadibot [~shikadi@wesnoth/umc-dev/bot/shikadibot] has joined #wesnoth-umc-dev 20121001 23:57:22-!- mode/#wesnoth-umc-dev [+v shikadibot] by ChanServ --- Log closed Tue Oct 02 00:00:13 2012