--- Log opened Wed Oct 31 00:00:09 2012 20121031 00:22:39-!- mattsc [~mattsc@d154-20-32-241.bchsia.telus.net] has joined #wesnoth-umc-dev 20121031 00:33:18< mattsc> Hey, Alarantalara 20121031 00:33:26< Alarantalara> hello 20121031 00:34:08< mattsc> I have thought about the problem of the averaging a little. I also looked at what the RCA AI does. 20121031 00:34:40< mattsc> I think the fundamental problem is that we never defined what the correct metric to rate attacks is. 20121031 00:35:20< mattsc> So, do you have time for a couple quick questions? And it will be quick today, I promise, because I have to go in ~15min. 20121031 00:35:26< Alarantalara> I do 20121031 00:36:13< mattsc> I think that we should consider a (roughly) gold-based metric, just like you do for recruiting 20121031 00:36:46< mattsc> So, let's say I have a unit worth 40 gold attacking a unit worth 20 gold. 20121031 00:37:40< mattsc> As a result, the 40-gold unit loses 1/4 of it's HP, the 20 gold unit loses 1/2 of its HP (but none is very close to 0) 20121031 00:37:56< mattsc> All else being equal, would you agree that that is roughly an even outcome? 20121031 00:38:12< mattsc> In a very approximate sense 20121031 00:39:26< Alarantalara> Not necessarily 20121031 00:40:44< Alarantalara> One of the objectives of attacking is to reduce the number of options available to the enemy by removing units 20121031 00:42:31< Alarantalara> In the example you just gave, if we were able to do that twice, one unit would be dead, while the other could retreat to heal 20121031 00:42:53< Alarantalara> so I'd put it somewhat in the favour of the 40 gold unit because I'd be willing to do it again 20121031 00:43:31< mattsc> Absolutely. That's why I added the "none is close to 0" part... When we get a CTK, things need to turn non-linear. 20121031 00:44:27< mattsc> But when you say "slight favour", I take that as you agree with me in the "very approximate" way I was asking about. 20121031 00:44:50< mattsc> In my interpretation of what _very_ approximate means... 20121031 00:45:15< Alarantalara> 1/2 of hp means the enemy is close to death regardless of absolute numbers 20121031 00:45:20< mattsc> So let's change the numbers somewhat and say one unit loses 10% of HP, the other 20%. 20121031 00:45:45< mattsc> And that amount is typical for an attack on that unit. 20121031 00:46:02< Alarantalara> I'd still favour the higher relative damage 20121031 00:46:16< Alarantalara> Think of what happens when you recruit a bunch of spearmen 20121031 00:46:37< Alarantalara> goblin ones 20121031 00:46:51< mattsc> Sure. Agreed. 20121031 00:47:36< Alarantalara> It is often a bad idea because even though you lose fewer hp per attack, unless you can bring overwhelming numbers, you end up with lots of dead spearmen and merely wounded units on the other side that eventuallt level 20121031 00:47:57-!- Crendgrim [~crend@port-92-204-102-11.dynamic.qsc.de] has quit [Quit: Konversation terminated!] 20121031 00:48:04< mattsc> But the metric should also be proportional to the value of the unit (let's use gold for value for now) 20121031 00:48:16< mattsc> ? 20121031 00:49:03< mattsc> Which, if you use % of HP, is roughly built in already... 20121031 00:50:58< Alarantalara> I guess it's that units with low hp tend also to be cheap, so you don't lose much gold 20121031 00:51:19< Alarantalara> but what you really care about once the units are on the field is loss of ability to do damage 20121031 00:51:51< Alarantalara> how much you paid doesn't matter as much afterward 20121031 00:52:33< mattsc> Well, it matters in a MP in the sense how much gold you just threw out the window and what it costs you to replace the unit. 20121031 00:53:57< mattsc> But in any case, I think that you are making the point I am trying to make even stronger than I was going to make it, that it is the arithmetic mean that matters (or even a higher power like 1.5), rather than the geometric or harmonic. 20121031 00:54:26< mattsc> Because it is the absolute amount of damage you do rather than the fractional change that matters. 20121031 00:55:02< mattsc> Anyways, I have to go though sorry. Unfortunately, easy questions never turn out to be easy in this game. :) 20121031 00:55:12< Alarantalara> Except for one thing: it's easier to heal one unit than 2 20121031 01:06:48-!- Blueblaze [~Blueblaze@adsl-99-148-246-168.dsl.hstntx.sbcglobal.net] has quit [Quit: Blueblaze] 20121031 01:15:11-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20121031 01:15:51-!- vultraz [~chatzilla@124.109.10.167] has joined #wesnoth-umc-dev 20121031 01:34:33< mattsc> Alarantalara: it doesn't look like I'll ever have more than 10 min or so at a time tonight, which probably won't get us very far ... 20121031 01:35:24< mattsc> The problem is that we need an equation of some sort, and so far I'm not even sure that I understand what the right metric is. 20121031 01:37:15< Alarantalara> As a single number, I haven't the faintest idea 20121031 01:39:39< mattsc> Me neither. I think that the RCA AI rating is pretty good as an offensive rating, but that's not all we want here. 20121031 01:40:20< Alarantalara> The worst part is that any isolated defense value after is irrelevant if you can move other units in so that you can't be attacked at all 20121031 01:43:04< mattsc> I really don't know how to evaluate that though, within a reasonable amount of time 20121031 01:43:34< Alarantalara> How long does it take to count the number of moves the opponent can make? 20121031 01:44:48< Alarantalara> not attacks, just places the opponent can move to 20121031 01:45:43< mattsc> I don't have a number, but that's pretty quick. 20121031 01:46:03< mattsc> But it cannot be done for every possible move combination your own units can do. 20121031 01:46:20< mattsc> I think... 20121031 01:46:43< mattsc> The problem is that it also depends on whether you kill a unit in an attack or not etc. 20121031 01:47:02< mattsc> Well, that's an additional problem, not the only one. 20121031 01:49:36< Alarantalara> Can we accept that attacks will not be ideal then? 20121031 01:50:30< Alarantalara> If we can keep units alive by retreating when in bad situations, and only attacking in groups, we get a huge advantage as it is 20121031 01:51:11< Alarantalara> Maximum enemy casualties isn't too terrible a metric 20121031 01:52:15< Alarantalara> If we can do that and keep the attackers in a group so they can be isolated and killed, it would probably be more than adequate for now 20121031 01:52:58< mattsc> I think that makes sense. 20121031 01:53:50< mattsc> And it's kind of what I've been trying to do, I just haven't figured out how to do it best yet. 20121031 01:57:15< Alarantalara> I think I will stay with recommending the geometric or harmonic mean then. Units that have high defense often also have low resistances so this lets us take advantage of the likelihood that total damage will be minimized without having to actually do the math for attacks 20121031 01:57:56< Alarantalara> So while we might not actually care between the two situations for hits, it puts the damage on units that will probably take less when hit 20121031 01:59:30< Alarantalara> It won't always be correct though, so if you do go with the arithmetic mean I won't mind 20121031 01:59:52< Alarantalara> Besides, it's easy to change 20121031 02:01:18< Alarantalara> I'm concerned that mages/assassins may not attack ranged units using a gold metric 20121031 02:01:58< Alarantalara> which is fine apart from the problem that if a mage doesn't kill a melee unit, the counter attack will hurt a lot 20121031 02:08:14-!- faabumc [~vcr@wesnoth/developer/faabumc] has joined #wesnoth-umc-dev 20121031 02:15:19-!- irker567 [~irker@ai0867.net] has quit [Quit: transmission timeout] 20121031 02:15:44< mattsc> Alarantalara: sounds good. And as you say, this is easy to switch between. We could run 100 trials of Fred against Ron each way and see which one works better. 20121031 02:16:09< mattsc> My guess is that, in the end, it doesn't matter all that much since this is only one contribution to the score anyway. 20121031 02:18:00< Alarantalara> Indeed, especially since the combat simulation should probably have the greatest effect regardless since we care more about damage done and received than what might happen next turn 20121031 02:55:29-!- Blueblaze [~Blueblaze@adsl-99-148-246-168.dsl.hstntx.sbcglobal.net] has joined #wesnoth-umc-dev 20121031 03:09:17-!- Blueblaze [~Blueblaze@adsl-99-148-246-168.dsl.hstntx.sbcglobal.net] has quit [Quit: Blueblaze] 20121031 03:19:43-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has quit [Quit: shadowm_laptop] 20121031 03:21:25-!- loonybot [~loonybot@wesnoth/bot/loonybot] has quit [Remote host closed the connection] 20121031 03:29:48-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20121031 03:38:18-!- faabumc [~vcr@wesnoth/developer/faabumc] has quit [Quit: Ex-Chat] 20121031 03:43:05-!- vultraz [~chatzilla@124.109.10.167] has quit [Changing host] 20121031 03:43:05-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-umc-dev 20121031 04:21:05-!- un214 [~un214@108.221.231.191] has joined #wesnoth-umc-dev 20121031 04:27:29-!- un214 [~un214@108.221.231.191] has quit [Remote host closed the connection] 20121031 05:40:04-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-umc-dev 20121031 05:45:04-!- faabumc [~vcr@wesnoth/developer/faabumc] has joined #wesnoth-umc-dev 20121031 06:10:19-!- ancestral [~ancestral@75-161-178-116.mpls.qwest.net] has quit [Quit: And that’s the end of THAT chapter.] 20121031 06:29:14-!- irker250 [~irker@ai0867.net] has joined #wesnoth-umc-dev 20121031 06:29:14< irker250> wesnoth-umc-dev: sigurdfdragon * r16135 /trunk/Random_Campaign/utils_common/next_scenario.cfg: 20121031 06:29:14< irker250> RC: Removal of Island map from the list of possible random maps. Doesn't work well with 3p version, and size is a bit too variable for 1p as well. 20121031 06:35:30-!- mattsc [~mattsc@d154-20-32-241.bchsia.telus.net] has quit [Quit: bye] 20121031 06:51:23-!- Blueblaze [~Blueblaze@adsl-99-148-246-168.dsl.hstntx.sbcglobal.net] has joined #wesnoth-umc-dev 20121031 07:22:38-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth-umc-dev 20121031 07:25:53-!- Blueblaze [~Blueblaze@adsl-99-148-246-168.dsl.hstntx.sbcglobal.net] has quit [Quit: Blueblaze] 20121031 09:24:15-!- Cookie [~quassel@unaffiliated/cookiee] has joined #wesnoth-umc-dev 20121031 09:30:01-!- irker250 [~irker@ai0867.net] has quit [Quit: transmission timeout] 20121031 09:55:32-!- faabumc_ [~vcr@wesnoth/developer/faabumc] has joined #wesnoth-umc-dev 20121031 10:09:01-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20121031 10:19:20-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-umc-dev 20121031 10:35:54-!- faabumc_ [~vcr@wesnoth/developer/faabumc] has quit [Quit: Ex-Chat] 20121031 10:36:06-!- faabumc [~vcr@wesnoth/developer/faabumc] has quit [Quit: Ex-Chat] 20121031 10:44:21-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20121031 10:54:42-!- Cookie [~quassel@unaffiliated/cookiee] has quit [Remote host closed the connection] 20121031 13:49:10-!- Cookie [~quassel@60-240-54-150.tpgi.com.au] has joined #wesnoth-umc-dev 20121031 13:49:10-!- Cookie [~quassel@60-240-54-150.tpgi.com.au] has quit [Changing host] 20121031 13:49:10-!- Cookie [~quassel@unaffiliated/cookiee] has joined #wesnoth-umc-dev 20121031 13:53:07-!- faabumc [~vcr@wesnoth/developer/faabumc] has joined #wesnoth-umc-dev 20121031 14:27:19-!- loonybot [~loonybot@46.138.65.68] has joined #wesnoth-umc-dev 20121031 14:27:20-!- loonybot [~loonybot@46.138.65.68] has quit [Changing host] 20121031 14:27:20-!- loonybot [~loonybot@wesnoth/bot/loonybot] has joined #wesnoth-umc-dev 20121031 14:27:23-!- mode/#wesnoth-umc-dev [+v loonybot] by ChanServ 20121031 14:46:29-!- mattsc [~mattsc@207.230.251.234] has joined #wesnoth-umc-dev 20121031 15:21:22-!- faabumc [~vcr@wesnoth/developer/faabumc] has quit [Quit: Ex-Chat] 20121031 15:22:20-!- irker313 [~irker@ai0867.net] has joined #wesnoth-umc-dev 20121031 15:22:20< irker313> AI-Demos: mattsc master * rd779d78 / (6 files in 3 dirs): Use wesnoth.unit_types to get unit cost and level - http://git.io/z7JH9w 20121031 15:24:16< irker313> AI-Demos: mattsc master * rd07b07c / lua/ai_helper.lua : ai_helper.attack_combo_stats: add some diagnostics output - http://git.io/Bp58zw 20121031 15:31:32-!- mattsc [~mattsc@207.230.251.234] has quit [Quit: I'm asleep] 20121031 15:31:45-!- Alarantalara [~Adium@CPEc0c1c09e8055-CM00252eac6d62.cpe.net.cable.rogers.com] has quit [Quit: Leaving.] 20121031 15:52:18-!- mattsc [~mattsc@fw.hia.nrc.ca] has joined #wesnoth-umc-dev 20121031 16:01:24-!- SeattleDad [~SeattleDa@c-67-171-51-0.hsd1.wa.comcast.net] has joined #wesnoth-umc-dev 20121031 16:13:43-!- SeattleDad [~SeattleDa@c-67-171-51-0.hsd1.wa.comcast.net] has quit [Quit: The computer fell asleep] 20121031 16:13:59-!- SeattleDad [~SeattleDa@c-67-171-51-0.hsd1.wa.comcast.net] has joined #wesnoth-umc-dev 20121031 16:15:45< irker313> AI-Demos: mattsc master * r76a53bf / (4 files): Use unit.status to get poisoned, slowed and not_living - http://git.io/70OH2Q 20121031 16:18:21-!- SeattleDad [~SeattleDa@c-67-171-51-0.hsd1.wa.comcast.net] has quit [Ping timeout: 245 seconds] 20121031 16:21:08< irker313> AI-Demos: mattsc master * rc0cccdf / multiplayer/era.cfg : Remove era "Experimental AI (adjustable parameters)" - http://git.io/Vjh9fA --- Log opened Wed Oct 31 16:33:56 2012 --- Log closed Thu Nov 01 00:00:49 2012