--- Log opened Sun Nov 11 00:00:42 2012 20121111 00:06:21-!- vultraz [~chatzilla@124.109.10.167] has joined #wesnoth-umc-dev 20121111 00:12:00-!- vultraz [~chatzilla@124.109.10.167] has quit [Read error: Connection reset by peer] 20121111 00:12:24-!- vultraz [~chatzilla@124.109.10.167] has joined #wesnoth-umc-dev 20121111 00:15:46-!- fabi [~fabi@88-134-61-254-dynip.superkabel.de] has joined #wesnoth-umc-dev 20121111 00:15:47-!- fabi [~fabi@88-134-61-254-dynip.superkabel.de] has quit [Changing host] 20121111 00:15:47-!- fabi [~fabi@wesnoth/developer/fendrin] has joined #wesnoth-umc-dev 20121111 00:18:58-!- fendrin_ [~fabi@88-134-61-254-dynip.superkabel.de] has quit [Ping timeout: 244 seconds] 20121111 00:42:27-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-umc-dev 20121111 00:50:46< irker392> wesnoth-umc-dev: doofus-01 * r16171 /trunk/Archaic_Era/images/terrain/ (34 files in 2 dirs): 20121111 00:50:47< irker392> wesnoth-umc-dev: start on marble walls - most images are still place-holder 20121111 01:02:14-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [Ping timeout: 265 seconds] 20121111 01:03:08< irker392> AI-Demos: mattsc master * rbcf449e / lua/battle_calcs.lua : hp_distribution: bug fix - http://git.io/F5geEA 20121111 01:21:26-!- Crendgrim [~crend@37-4-215-190-dynip.superkabel.de] has quit [Read error: Operation timed out] 20121111 01:26:36-!- Cookie [~quassel@unaffiliated/cookiee] has quit [Remote host closed the connection] 20121111 01:29:24-!- skyfaller [~skyfaller@ool-43551edd.dyn.optonline.net] has joined #wesnoth-umc-dev 20121111 01:29:25-!- skyfaller [~skyfaller@ool-43551edd.dyn.optonline.net] has quit [Changing host] 20121111 01:29:25-!- skyfaller [~skyfaller@wikipedia/Skyfaller] has joined #wesnoth-umc-dev 20121111 01:41:21< mattsc> Hey Alarantalara. You're good with maths and probabilities... 20121111 01:41:45< Alarantalara> I suppose. Or I can check one of my many textbooks 20121111 01:41:47< mattsc> Actually, question of english first. Is it good with or good at? 20121111 01:42:11-!- vultraz [~chatzilla@124.109.10.167] has quit [Changing host] 20121111 01:42:12-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-umc-dev 20121111 01:42:15< Alarantalara> Depends on context 20121111 01:42:24< mattsc> In the sentence above 20121111 01:43:11< Alarantalara> You tend to be good at verbs and good with nouns, but you're using nouns like verbs above, so at is likely preferred 20121111 01:43:38< mattsc> ok, thanks. :) 20121111 01:44:02< mattsc> Prepositions are hard in your non-native language(s) 20121111 01:44:15< mattsc> Anyways, I want to figure out the correct probabilities of units being poisoned in attack combos. 20121111 01:44:54< mattsc> And I am trying to figure out if I can do that without ifs and ors, but the Hermannator is interfering... 20121111 01:45:11< Alarantalara> If you're trying to do it as a single formula, then I wrote the formula out in the recruit code of all places 20121111 01:45:32< mattsc> For combinations of attacks? 20121111 01:45:55< Alarantalara> I have an extremely quick and dirty estimate of damage there for single attacks, but it generalizes perfectly 20121111 01:46:12< Alarantalara> It's line 100 20121111 01:46:15< mattsc> As in, what is the probability of coming out poisoned after, say, two attacks, if either attack could be with or without poison? 20121111 01:46:49< mattsc> in generic_recruit... ? 20121111 01:46:56< Alarantalara> Just take the probability that each attack with poison would miss 20121111 01:47:06< Alarantalara> multiply them all together 20121111 01:47:23< Alarantalara> and you have the probability that you didn't get poisoned 20121111 01:47:36< Alarantalara> order doesn't matter since it's entirely boolean 20121111 01:48:09< mattsc> Right, I am doing probability of NOT getting poisoned in my own single-attack code also. 20121111 01:48:23< Alarantalara> For multiple attacks repeat 20121111 01:48:35< Alarantalara> Take probabilty of not getting poisoned for each set 20121111 01:48:41< Alarantalara> multiply and invert again 20121111 01:49:03< mattsc> But you only apply it to the cases when you didn't get poisoned in the first attack 20121111 01:49:26< Alarantalara> but you don't know if you poisoned the opponent in the first attack yet 20121111 01:49:41< mattsc> yes, actually, with my new method I do 20121111 01:50:04< Alarantalara> How. It should be impossible if you haven't done the attack yet 20121111 01:50:21< mattsc> Sorry, misunderstanding here. 20121111 01:50:32< mattsc> I am calculating the probability of it happening 20121111 01:51:15< mattsc> Let's make a simple example. First attack: one strike, 50/50 chance of hitting. 20121111 01:51:30< Alarantalara> with poison I assume 20121111 01:51:32< mattsc> Second attack: same thing, with poison. 20121111 01:51:42< mattsc> First attack can be either poison or not. 20121111 01:51:57< Alarantalara> probablity of not being poisoned after first attacj without poison is 100% 20121111 01:52:05< mattsc> right. 20121111 01:52:07< Alarantalara> after second 1-50% = 50% 20121111 01:52:12< Alarantalara> 1-50% = 50% 20121111 01:52:17< Alarantalara> so chance is 50% 20121111 01:52:21< mattsc> ok 20121111 01:52:42< mattsc> Now with the first attack having poison... 20121111 01:52:56< Alarantalara> if the first attack has poison, then it's 25% chance of not being poisoned after both attacks 20121111 01:53:17< mattsc> yes, that makes sense. Bad example. 20121111 01:53:25< Alarantalara> 50% not after first attack * 50% not after second = 25% 20121111 01:53:34< mattsc> So, first attack is the same, but second is different: 20121111 01:53:44< Alarantalara> same there too 20121111 01:54:28< Alarantalara> you just take any attack without poison as having a 100% chance of not poisoning and do the sets of attacks like you did the individual ones 20121111 01:55:05< mattsc> Hmm, yeah, I think it is that easy... (and that's what I had previously, but then I confused myself) 20121111 01:55:33< mattsc> The thing that confused me is that, e.g. the chance of dying is different in the second attack based on the outcome of the first. 20121111 01:55:56< Alarantalara> true, but if you're dead, it doesn't matter if you're poisoned or not 20121111 01:56:03< mattsc> But I guess the chance of NOT being poisoned (and therefore of being poisoned) is always the same. 20121111 01:56:19< mattsc> Right. We count dead as poisoned. 20121111 01:56:22< Alarantalara> since it's requires every attack to miss, yes 20121111 01:56:29< mattsc> Right. 20121111 01:56:36< Alarantalara> *it 20121111 01:56:46< mattsc> Thanks. As I said, too many Hermannators. :) 20121111 01:57:47< Alarantalara> I suppose if the first attack had poison and missed then the second attack killed you could be dead and not poisoned, but I probably wouldn't care 20121111 01:58:29< Alarantalara> You may want to count dead as not poisoned and subtract it from the poison chance to discourage trying to poison units you can kill 20121111 01:58:42< mattsc> Yeah. I don't know what simulate_combat does, but I count dead by poisoned weapon as poisoned. 20121111 01:59:05< mattsc> Actually, I do that differently. 20121111 01:59:23< Alarantalara> I'm just thinking that if you rate poisoning higher, then you don't want to give the bonus for poisoned and dead 20121111 01:59:38< mattsc> I discourage using poisoners in an attack that likely kills the enemy 20121111 02:00:07< mattsc> But I'll look into that, it does make sense. 20121111 02:00:29< Alarantalara> The problem is that an assassin could easily have the highest chance to kill and enemy 20121111 02:00:37< Alarantalara> *an 20121111 02:00:45< Alarantalara> say a dwarf on a mountain 20121111 02:01:18< Alarantalara> at which point you may prefer to finish the target quickly instead of wasting many attacks 20121111 02:01:59< mattsc> Right... 20121111 02:01:59< mattsc> Btw, I just checked. Orcish assassin against enemy with 1HP: 20121111 02:02:19< mattsc> wesnoth.simulate_combat gives CTK 93.6%, posioned = 93.6% 20121111 02:02:40< Alarantalara> so it doesn't care if the unit is dead either 20121111 02:02:54< mattsc> So what I am doing is consistent with the engine. That does not mean that it's the best thing to do for us. 20121111 02:03:22< Alarantalara> Except that if you do use the engine sometimes, it may may more sense to account for it outside of the simulate results for consistency 20121111 02:03:38< mattsc> Ah, good point. 20121111 02:03:46< Alarantalara> Otherwise you'll be constantly trying to remember which you used 20121111 02:03:56< mattsc> Right. 20121111 02:04:36< mattsc> I can take the CTK off the poisoned probability in the attack rating. 20121111 02:04:46< mattsc> That way it does not matter where the stats come from. 20121111 02:05:36< mattsc> Well, thanks, Alarantalara. As usual, this was very useful. 20121111 02:10:54-!- Blueblaze [~Blueblaze@2602:306:394f:4049:6233:4bff:fe0a:827b] has joined #wesnoth-umc-dev 20121111 02:21:55-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20121111 02:37:08< Alarantalara> yuck, I'm going to have to measure distances by average cost to reach over all recruitable units. This is going to be so slow 20121111 02:37:40< Alarantalara> But without it, I get the wrong "closest" hex 20121111 02:56:15< Alarantalara> skyfaller, mattsc: Ron's recruit on Freelands turn 1 vs Rebels: http://imagebin.org/235398 20121111 02:56:20< Alarantalara> Look familiar? 20121111 02:56:52< skyfaller> what do you mean? Did I play this recruit once? 20121111 02:57:05< Alarantalara> It's exactly the same as Fred's 20121111 02:57:12< skyfaller> ah, interesting :) 20121111 02:57:18< skyfaller> and Ron came up with this by himself? 20121111 02:57:21< Alarantalara> but not hard coded 20121111 02:57:25< Alarantalara> yes 20121111 02:57:30< skyfaller> nice 20121111 02:57:54< skyfaller> I fear Ron may be seriously overtaking Fred! 20121111 02:58:19< skyfaller> I imagined the main development occurring in Fred and Ron periodically getting updates as we test the initial limited cases in Fred 20121111 02:59:07< Alarantalara> Well, if I'm happy with the rest of them, then Fred can get this recruit engine in about 5 min. I just can't really test it in Fred since Fred is so faction specific in other ways 20121111 03:00:25< Alarantalara> Actually fred has a wolf instead of one assassin, but it's close enough 20121111 03:03:24< Alarantalara> Against Loyalists and Knalgans, one grunt is swapped for a troll, same happens with undead except one assassin is swapped for a wolf too. Other opponents are same as rebels 20121111 03:06:28< mattsc> Alarantalara: I don't think there's a lot of faction specific stuff left in Fred, at least not much I remember off the top of my head. 20121111 03:06:57< mattsc> It's more map-specific, I think. 20121111 03:07:55< Alarantalara> Time of day for attacking 20121111 03:08:15< Alarantalara> Loyalists rushing at night would be terrible 20121111 03:08:26< mattsc> True - give me 15 mins and I have that generalized... 20121111 03:09:37< Alarantalara> And drakes makes it interesting, since when they should rush depends so much on what was recruited and is in that area at the moment 20121111 03:10:24< mattsc> Well, 15 min might be a slight understatement, but if that's what's keeping you from putting your recruiting into Fred, let me know and I'll work on that after I have the attack combos sorted out. 20121111 03:11:18< Alarantalara> That and that I want to test it on lots of maps for fast unit balance and odd-shaped keeps 20121111 03:11:25< mattsc> skyfaller: the attack combo function is the last thing needed before I can get back to working on Fred's behavior itself. I believe. 20121111 03:11:51< mattsc> Well, as I said, map-specificity is still quite prominet 20121111 03:12:00< mattsc> prominent 20121111 03:12:32< Alarantalara> So, since it was easier to test in Ron, I've been doing it there, especially since Fred's current recruit logic is decent 20121111 03:12:48< mattsc> Makes sense. 20121111 03:13:21< mattsc> And it's great to see that your recruiting comes up with the same solution as what our MP gurus told us! 20121111 03:13:44< Alarantalara> When I'm happy with it, I'll probably swap it in and modify Fred's restriction to allow undead since they have similar time of day logic 20121111 03:14:08< mattsc> ... but I still believe that Fred will eventually crush Ron. 20121111 03:14:24< mattsc> I have to, why am I doing all this work otherwise. :) 20121111 03:14:49< skyfaller> to inspire Alarantalara to make Ron even better ;-) 20121111 03:14:50< Alarantalara> oh definitely. That's why I'm only working on things in Ron that Fred will want eventually 20121111 03:15:19< Alarantalara> Since Fred will also want to switch keeps when he discovers new maps 20121111 03:15:28< mattsc> Well, eventually there will only be one anyway, right? 20121111 03:15:53< Alarantalara> Yes. I'm just trying to avoid creating competing logic systems 20121111 03:16:35< mattsc> I agree. I think this is a great way of doing it. 20121111 03:16:45< Alarantalara> Unless you want me to design a separate zone control algorithm so they can face off 20121111 03:17:19< mattsc> Interesting question... 20121111 03:17:55< mattsc> Do you think there's a fundamentally better way of doing zone control? 20121111 03:18:39< Alarantalara> Not that I know of 20121111 03:19:41< mattsc> Trying things different ways is always good. But it means that other things don't get done (or not right away at least) 20121111 03:20:17< Alarantalara> I'm not entirely satisfied with Ron's recruit algorithm yet anyway 20121111 03:20:34< mattsc> I'd say give me a few weeks until I have the obvious bugs worked out of Fred's zone control. Then let's ask this question again. 20121111 03:54:11< irker392> AI-Demos: Alarantalara master * r08b2617 / lua/generic-recruit_engine.lua : Remove leader reachable village from list of possible villages (+7 more commits...) - http://git.io/Ar3caQ 20121111 03:54:46-!- Cookie [~quassel@60-240-54-150.tpgi.com.au] has joined #wesnoth-umc-dev 20121111 03:54:47-!- Cookie [~quassel@60-240-54-150.tpgi.com.au] has quit [Changing host] 20121111 03:54:47-!- Cookie [~quassel@unaffiliated/cookiee] has joined #wesnoth-umc-dev 20121111 03:55:04< Alarantalara> Well, that's an interesting difference between irker and CIA (+7 commits) 20121111 03:58:41< mattsc> Were those local commits that you synced at the same time? 20121111 03:58:52< Alarantalara> Yes 20121111 04:02:39-!- Cookie [~quassel@unaffiliated/cookiee] has quit [Remote host closed the connection] 20121111 04:06:13< irker392> AI-Demos: Alarantalara master * rc12ee43 / lua/generic-recruit_engine.lua : Remove unneeded debug statement - http://git.io/bFk3gQ 20121111 04:11:05-!- loonybot [~loonybot@wesnoth/bot/loonybot] has quit [Remote host closed the connection] 20121111 04:22:21-!- Blueblaze [~Blueblaze@2602:306:394f:4049:6233:4bff:fe0a:827b] has quit [Remote host closed the connection] 20121111 04:22:38-!- Blueblaze [~Blueblaze@2602:306:394f:4049:6233:4bff:fe0a:827b] has joined #wesnoth-umc-dev 20121111 04:23:34-!- fabi [~fabi@wesnoth/developer/fendrin] has quit [Quit: Konversation terminated!] 20121111 04:38:58< irker392> AI-Demos: mattsc master * rc66a57e / lua/battle_calcs.lua : Calculate poisoned/slowed probability correctly for attack combos - http://git.io/Ho6ZFw 20121111 04:48:29< mattsc> Ugh. Why do my Shamans insist on attack Grunts with their staff ??? 20121111 04:55:56< AI0867> Alarantalara: that's a property of github, not irker 20121111 04:56:33< AI0867> AI-Demos sends the commits through the CIA commit hook, which is passed on to irker using the cia-irker proxy 20121111 05:10:26< Alarantalara> AI0867: Interesting. It's something I hadn't seen before, but I guess I hadn't synced 8 commits at once on GitHub before. 20121111 05:15:18< irker392> AI-Demos: mattsc master * r384d7f5 / lua/battle_calcs.lua : Take enemy weapon into account when selecting best weapon - http://git.io/MB8QjA 20121111 05:17:00-!- Blueblaze2 [~Blueblaze@2602:306:394f:4049:6233:4bff:fe0a:827b] has joined #wesnoth-umc-dev 20121111 05:17:03-!- Blueblaze [~Blueblaze@2602:306:394f:4049:6233:4bff:fe0a:827b] has quit [Read error: Connection reset by peer] 20121111 05:17:03-!- Blueblaze2 is now known as Blueblaze 20121111 05:22:53-!- SeattleDad [~SeattleDa@c-67-171-51-0.hsd1.wa.comcast.net] has joined #wesnoth-umc-dev 20121111 05:23:00-!- ancestral [~ancestral@65-128-234-158.mpls.qwest.net] has joined #wesnoth-umc-dev 20121111 05:24:27< SeattleDad> Hi mattsc, Alarantalara (and anybody else who could help) 20121111 05:24:54< SeattleDad> I need to know if one of the sides in a multiplayer game is human 20121111 05:25:33< SeattleDad> The problem is that, as per https://gna.org/bugs/?20280, which I reported, I'm blowing up when playing against a human rather than when it's AI vs. AI 20121111 05:26:07< SeattleDad> I think I could work around this if I knew how to determine, from Lua, whether there's a human in the game. 20121111 05:28:50< mattsc> SeattleDad: wesnoth.sides[s].controller? 20121111 05:28:56< mattsc> where s is the side number 20121111 05:32:10< SeattleDad> Thanks, I think that's what I need 20121111 05:32:21< Alarantalara> It's impossible if the game is networked 20121111 05:32:47< SeattleDad> What would wesnoth.sides[s].controller show in this situation 20121111 05:32:49< Alarantalara> controller reads as a network player regardless of if it's human or AI 20121111 05:33:12< Alarantalara> unless the other play is local 20121111 05:34:24< Alarantalara> This is only for games that have opponent communicating over the network though 20121111 05:34:58< SeattleDad> Okay, I think I only need to define this behavior when all of the players are AI 20121111 05:35:30< irker392> AI-Demos: mattsc master * rb38e925 / lua/battle_calcs.lua : Clean up comments - http://git.io/zUQXnQ 20121111 05:35:30< SeattleDad> The issue comes up when I try to define my own event handler 20121111 05:35:47< Alarantalara> see http://wiki.wesnoth.org/InternalActionsWML#.5Bstore_side.5D and the warning about networked multiplayer 20121111 05:36:18< SeattleDad> I define a game_events.on_event in ml_ai_events.lua 20121111 05:38:01< SeattleDad> Okay, I'll give it a try to only do this when all of the sides are either ai or null 20121111 05:41:17< irker392> AI-Demos: mattsc master * r770d680 / lua/battle_calcs.lua : attack_combo_stats: adapt 'slow' bonus for attack order selection - http://git.io/NbpTmw 20121111 05:43:57< irker392> AI-Demos: mattsc master * r731daee / lua/battle_calcs.lua : Standardize variable names - http://git.io/VzBfzA 20121111 05:47:48< irker392> AI-Demos: Alarantalara master * ra36c314 / lua/generic-recruit_engine.lua : Require castle hex for sourcing villages to be on the map - http://git.io/sZlx9Q 20121111 05:48:00-!- ancestral [~ancestral@65-128-234-158.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20121111 05:50:13-!- mattsc [~mattsc@d154-20-32-241.bchsia.telus.net] has quit [Quit: bye] 20121111 05:51:43-!- happygrue [~happygrue@wesnoth/developer/wintermute] has quit [Read error: Connection reset by peer] 20121111 06:20:31< irker392> wesnoth-umc-dev: doofus-01 * r16172 /trunk/Tales_of_the_Setting_Sun/scenarios/ (702b4.cfg 702b_Agoratera.cfg 702b5_i.cfg 801_Novatera.cfg): 20121111 06:20:31< irker392> wesnoth-umc-dev: First scenario of Chapter 8. 20121111 06:32:24< irker392> AI-Demos: Alarantalara master * r263a6fb / lua/generic-recruit_engine.lua : Account for the healing ability - http://git.io/F8iD0Q 20121111 07:46:45-!- shadowm_desktop [ignacio@wesnoth/developer/shadowmaster] has quit [] 20121111 07:55:15-!- SeattleDad [~SeattleDa@c-67-171-51-0.hsd1.wa.comcast.net] has quit [] 20121111 08:08:05-!- Blueblaze [~Blueblaze@2602:306:394f:4049:6233:4bff:fe0a:827b] has quit [Remote host closed the connection] 20121111 08:08:11-!- Blueblaze [~Blueblaze@2602:306:394f:4049:6233:4bff:fe0a:827b] has joined #wesnoth-umc-dev 20121111 08:37:57-!- Blueblaze [~Blueblaze@2602:306:394f:4049:6233:4bff:fe0a:827b] has quit [Remote host closed the connection] 20121111 08:38:13-!- Blueblaze [~Blueblaze@adsl-99-148-244-4.dsl.hstntx.sbcglobal.net] has joined #wesnoth-umc-dev 20121111 10:04:59-!- Crendgrim [~crend@37-4-215-190-dynip.superkabel.de] has joined #wesnoth-umc-dev 20121111 10:05:10-!- mnewton1 [~mnewton1@c-76-99-170-226.hsd1.de.comcast.net] has quit [Quit: Rice and Corn] 20121111 11:28:25-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth-umc-dev 20121111 12:00:16-!- irker392 [~irker@ai0867.net] has quit [Quit: transmission timeout] 20121111 12:10:21-!- noy_ [~Noy@d50-98-14-63.bchsia.telus.net] has joined #wesnoth-umc-dev 20121111 12:10:22-!- noy_ [~Noy@d50-98-14-63.bchsia.telus.net] has quit [Changing host] 20121111 12:10:22-!- noy_ [~Noy@wesnoth/developer/noy] has joined #wesnoth-umc-dev 20121111 12:12:40-!- noy_ [~Noy@wesnoth/developer/noy] has quit [Client Quit] 20121111 12:30:14-!- shadowm_desktop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-umc-dev 20121111 12:33:08-!- shadowm_desktop [ignacio@wesnoth/developer/shadowmaster] has quit [Read error: Connection reset by peer] 20121111 12:35:49-!- shadowm_desktop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-umc-dev 20121111 12:48:36-!- shadowm_desktop2 [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-umc-dev 20121111 12:49:50-!- shadowm_desktop [ignacio@wesnoth/developer/shadowmaster] has quit [Killed (sturgeon.freenode.net (Nickname regained by services))] 20121111 12:49:50-!- shadowm_desktop2 is now known as shadowm_desktop 20121111 14:08:54-!- loonybot [~loonybot@46.138.65.68] has joined #wesnoth-umc-dev 20121111 14:08:55-!- loonybot [~loonybot@46.138.65.68] has quit [Changing host] 20121111 14:08:55-!- loonybot [~loonybot@wesnoth/bot/loonybot] has joined #wesnoth-umc-dev 20121111 14:08:58-!- mode/#wesnoth-umc-dev [+v loonybot] by ChanServ 20121111 14:09:11-!- csarmi [csarmi@188-143-28-252.pool.digikabel.hu] has joined #wesnoth-umc-dev 20121111 15:32:22-!- mattsc [~mattsc@d154-20-32-241.bchsia.telus.net] has joined #wesnoth-umc-dev 20121111 16:42:31-!- Crendgrim [~crend@37-4-215-190-dynip.superkabel.de] has quit [Ping timeout: 260 seconds] 20121111 16:57:05-!- mnewton1 [~mnewton1@c-76-99-170-226.hsd1.de.comcast.net] has joined #wesnoth-umc-dev 20121111 17:18:37-!- ancestral [~ancestral@65-128-234-158.mpls.qwest.net] has joined #wesnoth-umc-dev 20121111 17:34:15-!- shadowm_desktop [ignacio@wesnoth/developer/shadowmaster] has quit [Ping timeout: 240 seconds] 20121111 17:34:19-!- mnewton1 [~mnewton1@c-76-99-170-226.hsd1.de.comcast.net] has quit [Quit: Rice and Corn] 20121111 18:26:08-!- Blueblaze [~Blueblaze@adsl-99-148-244-4.dsl.hstntx.sbcglobal.net] has quit [Quit: Blueblaze] 20121111 18:39:05-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-umc-dev 20121111 18:43:45-!- shadowm_desktop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-umc-dev 20121111 18:51:19-!- csarmi_home [csarmi@178-164-141-33.pool.digikabel.hu] has joined #wesnoth-umc-dev 20121111 18:53:45-!- csarmi [csarmi@188-143-28-252.pool.digikabel.hu] has quit [Ping timeout: 265 seconds] 20121111 19:17:26-!- irker060 [~irker@ai0867.net] has joined #wesnoth-umc-dev 20121111 19:17:27< irker060> AI-Demos: Alarantalara master * rbf8c500 / lua/generic-recruit_engine.lua : Estimate extra damage due to backstab ability - http://git.io/CFtZ5w 20121111 19:33:00-!- happygrue [~happygrue@c-76-119-97-171.hsd1.ma.comcast.net] has joined #wesnoth-umc-dev 20121111 19:33:01-!- happygrue [~happygrue@c-76-119-97-171.hsd1.ma.comcast.net] has quit [Changing host] 20121111 19:33:01-!- happygrue [~happygrue@wesnoth/developer/wintermute] has joined #wesnoth-umc-dev 20121111 19:41:24< irker060> AI-Demos: mattsc master * r58b7e36 / lua/battle_calcs.lua : Add poisoned/slowed probability to attack_rating - http://git.io/iEQ-tQ 20121111 19:50:01< irker060> AI-Demos: Alarantalara master * r04b1e38 / lua/generic-recruit_engine.lua : Increase estimate of backstab frequency - http://git.io/_FwTYw 20121111 19:54:21< irker060> AI-Demos: mattsc master * r9728428 / lua/battle_calcs.lua : attack_rating: do not add poisoned/slowed bonus if unit dies - http://git.io/L5_psA 20121111 19:58:54-!- shadowm_desktop [ignacio@wesnoth/developer/shadowmaster] has quit [Ping timeout: 240 seconds] 20121111 20:44:26< Alarantalara> skyfaller: You have often mentioned that you want to measure when units reach the front of battle, either when you plan to advance or when the unit does the most damage. 20121111 20:44:35< Alarantalara> But how do you decide where that will be? 20121111 20:45:31< skyfaller> well, I guess I have to have a plan of battle... usually I either expect to attack their forward village at the beginning of my powerphase 20121111 20:45:50< skyfaller> or I expect the enemy to attack my forward village at the beginning of their powerphase 20121111 20:46:18< skyfaller> sometimes there is an ongoing battle, where I am already fighting somewhere 20121111 20:46:34< skyfaller> so I am estimating when the unit will reach the current front 20121111 20:46:58< skyfaller> that should be easy, although factors like me deciding to retreat and therefore moving the front backwards might complicate things 20121111 20:47:19< skyfaller> you can just time when units will reach the location of the last two units to attack each other 20121111 20:47:23< Alarantalara> or the enemy deciding to retreat for the same reason 20121111 20:47:43< skyfaller> but I'm not sure how you decide where you are going to attack next or where the enemy will attack next 20121111 20:47:51< Alarantalara> you don't get to know when the last fight happened if it occurred during the enemy's turn 20121111 20:47:59< skyfaller> :( 20121111 20:48:07< skyfaller> not even in 1.11? can we submit a patch for that? 20121111 20:48:35< Alarantalara> Our AI sleeps when it isn't it's turn, so it's out of the scope of the AI 20121111 20:48:41< skyfaller> :( :( 20121111 20:48:57< skyfaller> that's terrible, not being able to know what is going on during the enemy's turn 20121111 20:49:01< Alarantalara> You can create an event in WML that will catch it, but that risk being clobbered since it's outside the AI scope 20121111 20:49:13< skyfaller> can't you figure it out based on what units took damage or died last turn? 20121111 20:49:33< skyfaller> just remember the state of things the previous turn and compare them to how things are this turn 20121111 20:49:49< Alarantalara> You can 20121111 20:49:49< skyfaller> obviously if everyone missed, then that won't work 20121111 20:50:00< skyfaller> but it's a start at least 20121111 20:51:16< Alarantalara> I actually wrote a CA to do that at one point on a private branch. I didn't do anything with it since I had nothing a really wanted to record 20121111 20:57:11-!- ancestral [~ancestral@65-128-234-158.mpls.qwest.net] has quit [Read error: Connection reset by peer] 20121111 21:00:33-!- ancestral [~ancestral@65-128-234-158.mpls.qwest.net] has joined #wesnoth-umc-dev 20121111 21:03:39< skyfaller> I would really rather know what happens on the enemy turn, though 20121111 21:03:52< skyfaller> how hard would it be to get a patch into Wesnoth that would get us that info? 20121111 21:04:43< Alarantalara> Likely relatively difficult since it means that the AI gets added to the list of things notified about events 20121111 21:05:09< skyfaller> :/ But doesn't everyone want to have smarter AI? 20121111 21:05:23< skyfaller> how smart can the AI be if it doesn't actually know what happened during the enemy's turn? 20121111 21:05:51< Alarantalara> Or maybe not. Lua can insert itself into the event handlers to intercept them and pass it on already. 20121111 21:07:09< Alarantalara> SeattleDad tried it in https://gna.org/bugs/index.php?20280 and it crashes Wesnoth in some cases 20121111 21:07:17< skyfaller> ha 20121111 21:07:23< skyfaller> well, let's do it with less crashing then ;-) 20121111 21:07:53< Alarantalara> And what you're talking about would do it once per AI, so it might be possible 20121111 21:08:54< Alarantalara> but not right now 20121111 21:23:17< irker060> AI-Demos: Alarantalara master * rc4c4033 / lua/generic-rush_engine.lua : Remove unused computation - http://git.io/wLh_Tg 20121111 21:28:44-!- shadowm_desktop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-umc-dev 20121111 21:46:30< Alarantalara> skyfaller: what if I averaged the three turns centred around when the unit would reach the current position of the enemy? While not ideal, it might account for the possibility of the line moving forward/backward 20121111 21:47:05< skyfaller> I don't quite understand what you are suggesting, could you explain more? 20121111 21:48:27< Alarantalara> Say a unit would take 3 turns before it can attack an enemy (I can worry about which one later, once we can assign units to fronts i.e. red is using Ron's recruiter) 20121111 21:48:48< Alarantalara> Find the time of day then, + the time for the turns before and after 20121111 21:49:15< Alarantalara> And use these three turns to decide if the unit will arrive at the right time 20121111 21:49:32< Alarantalara> It does assume that all units move about the same speed 20121111 21:50:01< Alarantalara> so that a front would not move more than 1 turns movement 20121111 21:50:14< Alarantalara> in the time it takes to get there 20121111 21:50:34< Alarantalara> this will likely be less accurate on larger maps and when the enemy is farther away 20121111 21:50:46< Alarantalara> but we already prefer fast units then 20121111 21:51:52< Alarantalara> Once those times are known, it's possible to say if there will be a powerphase at the time of arrival 20121111 21:53:42< Alarantalara> Or should I be looking at the first time of arrival + the time after that. Decide if it's a power phase based on those two turns 20121111 21:54:08< Alarantalara> Then shift the distance based on that and recalculate the time 20121111 21:55:57< skyfaller> somehow I am still not quite getting what you are saying. Pretend I am stupider. 20121111 21:56:34< skyfaller> or expand your terms 20121111 21:57:00< skyfaller> oh wait 20121111 21:58:30< skyfaller> ok, define these terms: "Find the time of day then, + the time for the turns before and after" 20121111 21:58:34< skyfaller> what is "then"? 20121111 21:58:57< Alarantalara> then = turn our unit arrives at the current location of the enemy 20121111 22:02:10< skyfaller> I mean, the thing is that the current location of the enemy isn't quite as important as the location of assets that they have to defend 20121111 22:02:53< skyfaller> or assets that we have to defend 20121111 22:03:20< skyfaller> it is irrelevant if the enemy retreats out of range if we get their village 20121111 22:03:36< skyfaller> the point is to project a threat that can hit the enemy village during our powerphase 20121111 22:03:46< Alarantalara> The problem with them is which one? On Freelands there are three fronts and I don't yet have information as to which way the unit will go 20121111 22:03:48< skyfaller> if he retreats away from the threat, we still get an income advantage 20121111 22:04:52< Alarantalara> The distance attacking left, right and centre to the next village are not the same 20121111 22:05:25< skyfaller> yeah, that's hard... you have to decide where you will make a concerted attack 20121111 22:05:35< skyfaller> and that's where your recruited unit would go 20121111 22:10:33< skyfaller> similarly, if you are being attacked, what you want is a unit that will hit your own threatened or captured village at the beginning of your powerphase, so that they must leave or die 20121111 22:10:54-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20121111 22:18:03-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-umc-dev 20121111 22:32:23-!- Crendgrim [~crend@port-92-204-108-56.dynamic.qsc.de] has joined #wesnoth-umc-dev 20121111 22:59:35-!- Cookiee [~quassel@60-240-54-150.tpgi.com.au] has joined #wesnoth-umc-dev 20121111 22:59:36-!- Cookiee [~quassel@60-240-54-150.tpgi.com.au] has quit [Changing host] 20121111 22:59:36-!- Cookiee [~quassel@unaffiliated/cookiee] has joined #wesnoth-umc-dev 20121111 23:01:51-!- Cookiee [~quassel@unaffiliated/cookiee] has quit [Remote host closed the connection] 20121111 23:03:54-!- Cookiee [~quassel@60-240-54-150.tpgi.com.au] has joined #wesnoth-umc-dev 20121111 23:03:55-!- Cookiee [~quassel@60-240-54-150.tpgi.com.au] has quit [Changing host] 20121111 23:03:55-!- Cookiee [~quassel@unaffiliated/cookiee] has joined #wesnoth-umc-dev 20121111 23:05:54-!- Cookiee [~quassel@unaffiliated/cookiee] has quit [Remote host closed the connection] 20121111 23:06:16-!- Cookiee [~quassel@60-240-54-150.tpgi.com.au] has joined #wesnoth-umc-dev 20121111 23:06:16-!- Cookiee [~quassel@60-240-54-150.tpgi.com.au] has quit [Changing host] 20121111 23:06:16-!- Cookiee [~quassel@unaffiliated/cookiee] has joined #wesnoth-umc-dev 20121111 23:17:05< irker060> AI-Demos: Alarantalara master * r16e527f / lua/generic-rush_engine.lua : Send units to villages that have few possible units that can reach them first - http://git.io/AU8YLQ 20121111 23:37:08< irker060> AI-Demos: Alarantalara master * r8b412ac / lua/generic-rush_engine.lua : Move rating change to correct location - http://git.io/J5rNlA 20121111 23:37:09< irker060> AI-Demos: Alarantalara master * r08103a4 / lua/generic-rush_engine.lua : Increase base rating to avoid new rating penalty causing village to be skipped - http://git.io/riZm7w 20121111 23:37:10< irker060> AI-Demos: Alarantalara master * r332cdb4 / lua/generic-rush_engine.lua : Add missing line form last commit :) - http://git.io/I0dVCQ 20121111 23:38:44-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [Ping timeout: 256 seconds] 20121111 23:43:35-!- ancestral [~ancestral@65-128-234-158.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20121111 23:48:18-!- Alarantalara [~Adium@CPEc0c1c09e8055-CM00252eac6d62.cpe.net.cable.rogers.com] has left #wesnoth-umc-dev [] 20121111 23:48:32-!- Alarantalara [~Adium@CPEc0c1c09e8055-CM00252eac6d62.cpe.net.cable.rogers.com] has joined #wesnoth-umc-dev 20121111 23:48:35-!- Cookiee [~quassel@unaffiliated/cookiee] has quit [Ping timeout: 260 seconds] --- Log closed Mon Nov 12 00:00:48 2012