--- Log opened Fri Aug 14 00:00:53 2009 20090814 00:03:43< CIA-62> silene * r37725 /trunk/src/ (display.cpp display.hpp): Cleaned rect_of_hexes iterator so that foreach becomes usable. 20090814 00:03:50< ilor> since nothing jumps out at me from the logs as being obviously broken, I'll just go to sleep now and will be back around tomorrow evening. Need to have a rest after my short vacation ;) 20090814 00:04:51-!- ilor [n=user@wesnoth/developer/ilor] has quit [] 20090814 00:06:10-!- shikadibot [n=shikadi@wesnoth/umc-dev/bot/shikadibot] has left #wesnoth-dev ["Leaving (requested by elynia via C:message)"] 20090814 00:07:05-!- shikadibot [n=shikadi@wesnoth/umc-dev/bot/shikadibot] has joined #wesnoth-dev 20090814 00:20:41-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has quit [Remote closed the connection] 20090814 00:22:31-!- silene [n=plouf@wesnoth/developer/silene] has quit ["Leaving."] 20090814 00:23:25< Ivanovic> 20090814 00:22:58 error replay: unfound defender for attack: 29,6 -> 28,6 20090814 00:23:27< Ivanovic> 20090814 00:23:04 error replay: unfound defender for attack: 27,7 -> 28,6 20090814 00:23:28< Ivanovic> 20090814 00:23:07 error replay: unfound defender for attack: 29,7 -> 28,6 20090814 00:23:30< Ivanovic> 20090814 00:23:12 error replay: unfound defender for attack: 27,6 -> 28,6 20090814 00:27:42< shadowmaster> sounds good 20090814 00:27:48< shadowmaster> er, wrong window 20090814 00:28:08< Ivanovic> okay, time for me to head off to bed 20090814 00:28:10< Ivanovic> n8 20090814 00:28:14< deekay> night Ivanovic 20090814 00:28:16< Crab_> good night 20090814 00:28:17< deekay> Thanks for playing 20090814 00:28:19< deekay> :) 20090814 00:28:38< shadowmaster> deekay: so, where's the post-credits easter-egg? 20090814 00:28:58< deekay> shadowmaster: Huh? 20090814 00:29:08< shadowmaster> ah never mind. You didn't get the joke. 20090814 00:29:19< Ivanovic> deekay: might be a good idea to check if it is possible to change the aggression/caution settings for mp only (for that case that it works nicely for campaigns atm) 20090814 00:29:38< Ivanovic> since it looks like eg the white one moved its units all the time, even if nothing was directly in reach 20090814 00:29:54< deekay> Ivanovic: Crab_ should know most about how to do this 20090814 00:30:07< Crab_> Ivanovic: yes, it's possible to do this. 20090814 00:30:32< Ivanovic> Crab_: great 20090814 00:32:02< fendrin> the game kicked me 20090814 00:32:17< Crab_> fendrin: try again :) 20090814 00:32:33< Soliton> what did it say? 20090814 00:33:04< Soliton> if you get the OOS dialog don't click quit game. 20090814 00:34:54< deekay> Crab_: I'm watching replay, sumthink must've got out of sync completely 20090814 00:35:15< deekay> This spearman here definiately could reach your leader, so prolly you saw different situation 20090814 00:35:19< Crab_> where ? 20090814 00:35:38< deekay> Crab_: From village 20090814 00:35:43< Soliton> well, if he could reach him via the village then that doesn't count. 20090814 00:35:52< Soliton> the ai never takes allied villages. 20090814 00:36:05< deekay> heh 20090814 00:36:31< deekay> But I get "replay is corrupted" few times too around your ghost Soliton 20090814 00:36:45< deekay> I wonder what heppened :s 20090814 00:38:07< Soliton> yeah, no idea. 20090814 00:38:19< Soliton> sounds like the RNG went different for us. 20090814 00:38:46< Crab_> Soliton: is it possible to find this by comparing replays ? 20090814 00:38:51< deekay> But it could mean we have some ugly bug there 20090814 00:38:53< Soliton> i've noticed that replays get corrupted in random places because some unit did or didn't want to die in the replay. 20090814 00:39:12< Soliton> Crab_: yes, but if deekay's replay now also has OOS... 20090814 00:39:25< Crab_> Soliton: by comparing WML ? 20090814 00:40:04< Soliton> well, just look at the replays and see where they diverge. 20090814 00:40:38< deekay> Crab_: I'll tomorrow cleanup a bit of code from recruitment, how long it takes for you tu run some test games and create some table with results? 20090814 00:41:45< Crab_> deekay: today: the time required to utter a few shell commands to setup an openvpn tunnel to the test machine, then rebase/recompile/run . tomorrow: even less time. 20090814 00:42:52< deekay> Crab_: And one more thing, it it would be a problem and you don't have time then it's ok, just say so - SoC is soon over so you may want to work on something else 20090814 00:43:31< Crab_> deekay: well, I'll need some time to set things right, but I'm still free for some months.. 20090814 00:44:22< deekay> Well, I just set some things tomorro, and if you can just run this script, if not, some other time :) 20090814 00:44:39< Crab_> deekay: just commit it and say the path to the config file :) 20090814 00:44:53< deekay> Crab_: ok :) 20090814 00:45:11< Crab_> deekay: for example, I can even now set up default ai vs formula ai 20090814 00:45:57< deekay> Let me fist try to improve some things :) 20090814 00:46:06< Crab_> ok 20090814 00:46:13< CIA-62> cornmander * r37726 /website/stats.wesnoth.org/wesstats/ (controllers/killview.py templates/killview.html): 20090814 00:46:13< CIA-62> Added filter selection to frontend. Improved UI of killmaps page 20090814 00:46:13< CIA-62> slightly. 20090814 00:46:47< Crab_> deekay: about that spearman... 20090814 00:46:54-!- stikonas [n=and@wesnoth/translator/stikonas] has quit [Read error: 110 (Connection timed out)] 20090814 00:46:55< deekay> Crab_: yes? 20090814 00:47:19< Crab_> deekay: he was ZoCed by heavy infantry and Woze - he was unable to reach that village near my leader 20090814 00:48:12< deekay> Crab_: Interesting 20090814 00:48:30< Crab_> deekay: ah, no, i'm wrong.. 20090814 00:48:38< Crab_> deekay: the wose moved.. 20090814 00:48:44< deekay> Yes 20090814 00:49:06< Crab_> deekay: so,yes, I was protected by that red village 20090814 00:49:08< deekay> Clearly AI could favour leader-killing combos more 20090814 00:49:14< deekay> :) 20090814 00:49:19-!- Espreon [n=espreon@wesnoth/developer/espreon] has quit ["WRYYYYYYYYYYYYYYYYYYYY!"] 20090814 00:54:20< Crab_> http://rapidshare.com/files/267099377/2009aug13_replay_oos.gz - my version of the replay 20090814 00:56:38-!- cjhopman [n=chris@wesnoth/developer/cjhopman] has quit [Remote closed the connection] 20090814 00:57:24< noy> does anybody emulate classic OSX on their modern macs? 20090814 00:57:36< noy> err I mean OS 9 and before 20090814 01:03:29< Crab_> corn: btw, thanks to your changes, OOSes are a bit easier to debug :) 20090814 01:06:15< Crab_> Soliton: can you post your version of the replay ? 20090814 01:06:42< corn> Crab_: the kill events in replay logs? 20090814 01:07:02< Crab_> corn: extra info in attack commands 20090814 01:07:08< corn> yeah 20090814 01:07:18< corn> no problem :) 20090814 01:08:19< Crab_> deekay: can you post your version of that replay ? 20090814 01:09:02< Soliton> files.wesnoth.org/soliton/User_Map_Turn_7.gz 20090814 01:09:07< deekay> Crab_: http://student.agh.edu.pl/~dks/Mapa_uzytkownika.gz 20090814 01:09:13< Soliton> probably the same as yours though. 20090814 01:09:15< Crab_> thanks 20090814 01:09:18< Crab_> Soliton: yes 20090814 01:09:35-!- thespaceinvader [n=chatzill@wesnoth/artist/thespaceinvader] has quit ["night all"] 20090814 01:13:23< Soliton> hmm, movement and recruit order is different, weird. 20090814 01:13:46< Soliton> that's the first major difference i see to deekay's replay. 20090814 01:14:14< Soliton> line ~2550 20090814 01:14:34< Soliton> not that that mattered much but i wonder how that happened. 20090814 01:15:12< Soliton> hmm, actually looks like just a rename got in the way. order is the same. 20090814 01:21:15< Soliton> bah, too many differences because of the server side RNG or something. really hard to see real differences. 20090814 01:26:58< Crab_> Soliton: and what about the 'corrupt replay' message in DKs replay ? 20090814 01:27:07< Crab_> Soliton: it's not a oos 20090814 01:27:37< deekay> Well, it says that replay is corrupted 20090814 01:27:42< Crab_> deekay: why ? 20090814 01:28:43< deekay> http://wesnoth.pastebin.com/d13dcf0cd 20090814 01:29:51< Crab_> so, the code path used to attack a unit showed that the unit survived, but the code path used for replay showed that the unit died ? 20090814 01:31:05< deekay> I think replay says that unit survived but game disagrees with it. 20090814 01:33:14-!- Chusslove [n=Chusslov@adsl-ppp-1193.yubc.net] has quit [Remote closed the connection] 20090814 01:33:33< Soliton> oos and corrupted save are the same thing. 20090814 01:34:14< Crab_> Soliton: a bit different. since both save and game used DKs revision of the game. 20090814 01:34:44< Soliton> i'm not talking about that. 20090814 01:35:19< Soliton> those dialogs mean the same thing just you get an OOS dialog while playing the game and a useless corrupted save dialog when you watcha replay. 20090814 01:44:32-!- noy [n=Noy@wesnoth/developer/noy] has quit [] 20090814 01:48:22< knotwork> Is the prefix indicating campaign meant to be automagically prepended to scenario names to form filterable list of savegames or must each scenario explicitly contain the prefix in its name? (v1.6.4) 20090814 01:49:35< Soliton> do you mean the campaign abbreviation? 20090814 01:49:42< knotwork> yeah 20090814 01:50:05< Soliton> that's defined in [campaign]. 20090814 01:50:14< knotwork> I saw somewhere a place you set the abbreviation but not sure if its not used or I am not setting it in right place / enough places 20090814 01:50:18< Soliton> so you just need to mention it there. 20090814 01:50:51< knotwork> thought I had, but maybe it was wrong part of file or was .pbl instead or something 20090814 01:51:17< shadowmaster> .pbls have nothing to do with campaign play 20090814 01:51:18< Soliton> well, show your WML if you still have problems. 20090814 01:52:45< knotwork> must've taken me more than 24 slid hours figuring out convert of WML to 1.5 from 1.4 or so. some things I knew or guessed but stared at code over and over for hours not seeing 20090814 01:53:41< Soliton> just run wmllint over it. 20090814 01:53:45< Crab_> Soliton: ok, found something. see : http://wesnoth.pastebin.com/m7de30bbc 20090814 01:53:49< Crab_> deekay: ^ 20090814 01:53:53< Crab_> 8-hp ghost 20090814 01:53:57< knotwork> like I knew event on recall differs from on recruit but took forever to actually notice recruit,recall on an event, guess I was looking for separate event or assuming what i'd read about it wsnt yet in effect 20090814 01:54:21< knotwork> I did wmllint, it left a lot of stuff 20090814 01:54:30< Crab_> it, from DK's point-of-view, took -7hp hit, ' hit by +4 in counterattack', took another -7hp hit and somehow survived 20090814 01:54:51< Soliton> well, cheater as i said. 20090814 01:54:56< Crab_> 8hp ghost 20090814 01:54:59< knotwork> I wasnt aparently able to get enough scope to find that a core macro that used to take 6 args now takes 4 20090814 01:55:20< Crab_> so, can this be a bug in attack resolution logic ? 20090814 01:55:22< knotwork> errors seemingloy invlving a " char floated around from place to place 20090814 01:55:40< knotwork> effected by earlier and later scenarios 20090814 01:55:43< Crab_> e.g. failure to declare a unit dead in some specific circumstances 20090814 01:55:48< knotwork> real pain to track down 20090814 01:56:12< shadowmaster> knotwork: one question: what's the current problem you actually need help with? I kind of lost track. 20090814 01:56:37< Crab_> that unit somehow stayed in DKs unit_map, so the ai targeted it next turn, so we got oos 20090814 01:56:55< knotwork> shadowmaster: thought I had set a prefix but savefiles lack it 20090814 01:56:57< Soliton> knotwork: if there is stuff wmllint doesn't cover you should report that. though for 1.4 stuff it's probably a bit late. 20090814 01:57:15< shadowmaster> knotwork: okay, so will you paste your WML as the other dev suggested? 20090814 01:57:23< shadowmaster> the [campaign] block in particular 20090814 01:57:34< knotwork> Soliton: it was LOYAL_UNIT, it got renamed to NAMED_LOYAL_UNIT 20090814 01:57:39< Soliton> deekay: you don't remember how the ghost looked for you? 20090814 01:57:56< deekay> Soliton: Unfortunately not 20090814 01:58:31< Crab_> deekay: e.g. "1-hp alive ghost" 20090814 01:58:57< Soliton> it survived a lot of attacks next turn so i can only imagine it was only hit once by the gryphon before. 20090814 01:59:01< knotwork> shadowmaster: first I wanna check I really did not only set a prefix but did so in right place 20090814 01:59:11< shadowmaster> okay 20090814 01:59:22< Crab_> Soliton: according to DKs replay, it got hit twice 20090814 01:59:44< deekay> Maybe drain on my side messed something... 20090814 01:59:45< Soliton> yeah, it doesn't really add up. 20090814 02:00:19-!- Turuk_ [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090814 02:00:26< Crab_> well, it looks like a bug in attack resolution code 20090814 02:00:57< Soliton> yep. 20090814 02:02:02< Soliton> i can provide replays where i know a unit died in the game but doesn't in the replay but i guess the real question is how to reproduce it. 20090814 02:02:46< Crab_> reconstruct the situation in a scenario ? 20090814 02:03:26< Soliton> well, you could save right before the ghost fight and let it run again from there and see if it reproduces. 20090814 02:03:39< Crab_> yes 20090814 02:03:59< Soliton> but if it's some issue with the internal unit_map chances aren't good i'd say. 20090814 02:04:50< Crab_> note how the combat looks: 20090814 02:05:03< Crab_> 7-2 50% vs 4-3 50% drains 20090814 02:05:09< Crab_> 8hp ghost 20090814 02:06:01< Crab_> will try to reproduce in this way... 20090814 02:06:25< Crab_> (i've got the needed save) 20090814 02:06:34-!- loonycyborg [n=sergey@wesnoth/developer/loonycyborg] has quit ["Zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"] 20090814 02:07:07-!- loonybot [n=loonybot@wesnoth/bot/loonybot] has quit [Remote closed the connection] 20090814 02:07:15-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has quit [Read error: 110 (Connection timed out)] 20090814 02:09:08< Crab_> i'll try to do this via ai formula, attack(loc(27,15),loc(28,7),loc(28,6)) 20090814 02:12:35< Soliton> hmm, the OOS might have also happened in the ulf attack before. 20090814 02:12:52< Crab_> Soliton: why ? 20090814 02:13:22< Crab_> Soliton: dk's replay agrees on 8-hp ghost 20090814 02:13:25< Soliton> because an 8HP ghost doesn't make sense with the replay data. 20090814 02:13:37< Crab_> Soliton: why ? 20090814 02:13:54< knotwork> third line of _main.cfg sets abrev ; is that right spelling? 20090814 02:13:55< Crab_> ghost-vs-ulf can produce almost any hp for the ghost... 20090814 02:14:14< Soliton> 2*7HP hist - 2HP drain in return requires at least 13HP ghost to have dies=no. 20090814 02:14:33< knotwork> I coied someone else's aparently working _main but didnt ply their campaign to see if it set it in savefile names 20090814 02:15:03< Crab_> Soliton: so, you think that DKs ghost actually had >8 hp ? 20090814 02:15:23< Soliton> knotwork: if you look at any mainline campaign or the wiki reference you can see it's abbrev. 20090814 02:15:42< Soliton> Crab_: that'd make more sense to me. 20090814 02:16:00< knotwork> thanks, figured spelling seemed strange 20090814 02:18:01< Crab_> Soliton: how many hp it would need to have ? 20090814 02:18:12< Soliton> 13 20090814 02:18:18< Soliton> at least 20090814 02:18:35< Soliton> > 2*7-2 20090814 02:25:27< Crab_> Soliton: before encountering that gryphon, that ghost has exactly 1 combat, with Dwarvish Ulfserker 20090814 02:25:48< Crab_> we can be certain that that dwarvish berserker is strong 20090814 02:25:49< Soliton> yes. 20090814 02:25:59< Soliton> maybe. 20090814 02:26:16< Crab_> Soliton: well, I say "wow, two strong berserkers", at the start of the game 20090814 02:26:23< Soliton> though we talked about it and it should give recruitment OOS. so yeah. :-) 20090814 02:27:29< Soliton> the ghost would have needed to hit one more and be hit one less for 5HP difference. 20090814 02:28:06< Soliton> when looking at my save i just counted the ghost should have 9HP... but maybe i miscalculated. 20090814 02:29:45-!- BenUrban [n=benurban@c-68-50-54-86.hsd1.md.comcast.net] has joined #wesnoth-dev 20090814 02:32:09< Soliton> now 10 :-P 20090814 02:32:23 * Soliton is good at math! 20090814 02:32:42< deekay> hehe 20090814 02:33:37< Crab_> ghost is hit -3 6times (-18), hits for drain 2 5 times (+10), so 18+10-18=10 hp left 20090814 02:34:04< Crab_> are you sure that drain is 2 ? 20090814 02:34:27< Soliton> half damage 20090814 02:34:36< deekay> What about last hit? 20090814 02:34:41< Soliton> ohhh 20090814 02:34:45< Soliton> good point. 20090814 02:34:50< Crab_> yes 20090814 02:34:53< Soliton> no drain there probably. 20090814 02:35:52< deekay> bah 20090814 02:36:04< Crab_> so, 8 hp 20090814 02:36:09< Crab_> as it should be.. 20090814 02:36:10< deekay> Too bad I wasn't inf front of pc at that time :s 20090814 02:36:33< deekay> Crab_: How many hp ulf had? 20090814 02:36:34< Crab_> deekay: too bad you hadn't run with log_engine enabled... 20090814 02:37:20< Crab_> deekay:23 20090814 02:37:21< Soliton> i also attacked the ulf with a bat first so OOS might have been then... 20090814 02:37:34< Crab_> before bat 20090814 02:38:23< Crab_> deekay: wait a bit.. 20090814 02:39:05< Soliton> it had more, i think.it has 17HP before ghost. 20090814 02:39:21< Crab_> 23, then 33, then 17 20090814 02:39:30< Soliton> so it had 1HP at the last hit -> no drain. 20090814 02:40:17< deekay> Yes 20090814 02:41:00< Soliton> maybe a scenario with a wraith against a hord of ulfs can reproduce it. :-) 20090814 02:41:09< deekay> I'd try mp game 20090814 02:41:44< Crab_> I'd try adding additional debug info to replays.. 20090814 02:42:37< Crab_> e.g. "how many hp attacker and defender have at start of combat?" 20090814 02:43:20< Crab_> this can be added to [attack] 20090814 02:43:24< Soliton> yeah, that'd help. 20090814 02:43:41< Soliton> also a turn number in [end_turn] would be nice for easier orientation. 20090814 02:43:52-!- Elvish_Pillage2 [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has joined #wesnoth-dev 20090814 02:44:08< Crab_> Soliton: well, we have a turn="" in attacks 20090814 02:44:15< deekay> ok, I have autosave from turn 6 20090814 02:44:22< deekay> Shows ghost in village with 13 hp 20090814 02:44:31< Crab_> deekay: great! 20090814 02:44:46< Soliton> Crab_: ah, i see. but that's pretty redundant. 20090814 02:44:59< Soliton> deekay: post it! 20090814 02:45:00< Crab_> deekay: can you store all autosaves somewhere ? 20090814 02:45:10< deekay> Sure, sec 20090814 02:45:50< Soliton> maybe some random numbers got assigned differently. 20090814 02:46:31< Soliton> the problem is in deekay's save i can't easily see the random numbers that belong to the attack. 20090814 02:47:18< Soliton> ..or at all 20090814 02:48:26< Soliton> ok, for some attacks they're there. 20090814 02:49:34< Soliton> but not for the ghost vs ulf fight. 20090814 02:49:52< Crab_> hmm... how could that ghost end up with 13 hp ? it had 18, right ? 20090814 02:50:01< Soliton> yes. 20090814 02:50:07< deekay> Crab_, Soliton http://student.agh.edu.pl/~dks/debug/ 20090814 02:50:23< Soliton> well, one less hit from ulf and one more hit himself would do it. of course the replay data disagrees. 20090814 02:52:16< Crab_> 13 = 18 - A*3+B*2, where B<=4; so 3*A = 18-13+2B, 3*A=5+2B; so, B=2, A=3 20090814 02:52:24-!- Appleman1234 [n=Appleman@131.181.100.246] has quit [Excess Flood] 20090814 02:52:31< Crab_> so, the ghost would need to hit first few attacks, while at full hp 20090814 02:52:37< shadowmaster> that was a bad appleman 20090814 02:52:49-!- Appleman1234 [n=Appleman@131.181.100.246] has joined #wesnoth-dev 20090814 02:54:05< Crab_> or, more specifically, 'the ghost must hit two attacks without being hit' 20090814 02:56:28< Soliton> why B<=4? 20090814 02:56:45< Crab_> if we trust 17hp.. 20090814 02:56:51< Crab_> so, we can only drain 4 times 20090814 02:57:13-!- shadowmaster is now known as punmaster 20090814 02:59:29-!- Elvish_Pillager [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has quit [Read error: 110 (Connection timed out)] 20090814 03:00:23< Crab_> ok, checked that it is possible to get 17 hp from bat fight.. 20090814 03:00:27< Crab_> (15% chance) 20090814 03:00:41< deekay> I just got this on a first try 20090814 03:00:47< deekay> When I attacked ulf with a bat 20090814 03:01:35< Crab_> and 5.3% to get 13hp, 5.7% to get 8 hp from ghost fight 20090814 03:01:43< Crab_> (for ghost) 20090814 03:02:23-!- punmaster is now known as Shadow_Master 20090814 03:02:36< Crab_> does a server keep log of s-random numbers issued ? 20090814 03:03:39< Soliton> uh, when i replay that autosave from deekay i get a 8HP ghost again. 20090814 03:04:07< Soliton> so replay info saved was different from what actually happened. 20090814 03:04:18< Crab_> yes 20090814 03:04:46< Soliton> and no there is nothing in the logs. 20090814 03:04:55< Soliton> and server side replays aren't enabled for trunk. 20090814 03:06:26< deekay> but on a start of the turn 6 ghost has 13 hp 20090814 03:06:40< Crab_> deekay: snapshot 20090814 03:06:44< deekay> yes 20090814 03:06:47< Soliton> yes, that's the weird thing. 20090814 03:06:52< deekay> I'm just pointing that out :) 20090814 03:08:24-!- Zarel [i=Zarel@warzone2100/developer/Zarel] has joined #wesnoth-dev 20090814 03:09:10< deekay> Haha bug 20090814 03:09:22< deekay> Load save, check "show replay" 20090814 03:09:35< deekay> From there, load save again, also with "show replay" 20090814 03:09:43< deekay> press esc, quit 20090814 03:09:56< deekay> You get stuck in the beginning of a savegame again 20090814 03:10:37< Crab_> deekay: yes :) 20090814 03:10:44< Soliton> please post a bug report. i had those weird loops as well but not sure how i got there. 20090814 03:11:05< deekay> Soliton: Tomorrow I will, I'm too tired to type english now :) 20090814 03:13:31< Crab_> Soliton: ok, so, what do we need to add to the replay to ensure that we'll have more info when this happens again ? 20090814 03:14:39< Crab_> 1) hp of attacker/defender in [attack] 2) [random] on all sides (to check that all sides get equal results) 3) anything else ? 20090814 03:14:40< Soliton> Crab_: well, HP of attacker and defender as you mentioned would be nice. 20090814 03:15:26< Soliton> and generally i'd move turn out of attack into [end_turn]. 20090814 03:16:05< Soliton> i think the HP is all we need to know exactly when the OOS occured. 20090814 03:16:23< Soliton> of course then we still need to figure out why... :-) 20090814 03:16:30< Crab_> right now we have two candidates 20090814 03:16:51< Shadow_Master> how often are user warnings used in the forums? 20090814 03:16:52< Crab_> (bat-vs-ulf) and (ghost-vs-ulf) can we just check both for why ? 20090814 03:18:45-!- Espreon [n=espreon@wesnoth/developer/espreon] has joined #wesnoth-dev 20090814 03:19:03< Crab_> Soliton: basically, DKs wesnoth told itself one result, and told us another... 20090814 03:19:18< Soliton> well, my wesnoth was the talking one. 20090814 03:19:28< Shadow_Master> Shadow_Master: actually, you could learn SQL instead of asking such questions! 20090814 03:19:41< Soliton> but DK's made stuff up for some reason. 20090814 03:19:49< Crab_> ah, yes 20090814 03:21:03< Crab_> Soliton: then "basically, you sent the same result to all of us, but DKs wesnoth has interpreted it differently" 20090814 03:21:04< Crab_> ? 20090814 03:21:34< Soliton> actually the result comes from the server now, i think. 20090814 03:21:45< Crab_> (through the server) 20090814 03:21:58< Soliton> i just say attack and wait for the random numbers from the server and then play it. 20090814 03:22:20< Soliton> not sure how exactly it works for others. 20090814 03:22:22< Crab_> Soliton: so, we need to make everyone log these numbers, as well ? 20090814 03:22:44< Soliton> yes, if they aren't for some reason. 20090814 03:22:46< Crab_> Soliton: then we'll be able to figure out if the numbers received were same or not 20090814 03:23:20< Soliton> that's the weird thing that for the ghost attack there are no random numbers in DK's replay afaict. 20090814 03:23:35< Crab_> right now, only the person who's sending logs this data - [random] [results] are only stored for the owner of the attacking unit 20090814 03:23:35< Soliton> i can't imagine he just didn't get any though. 20090814 03:23:52< Crab_> Soliton: look into my replay, the same there.. 20090814 03:24:09< Soliton> but if he really didn't then i guess it'd fallback to the old behaviour and make up its own or something.. 20090814 03:24:24< Soliton> Crab_: ok, that should be changed then. 20090814 03:24:58< Crab_> Soliton: so, the hypothesis is that DKs wesnoth had received different random data info from the server 20090814 03:25:09< Soliton> impossible! 20090814 03:25:28< Soliton> well, yeah. 20090814 03:26:14< Crab_> Soliton: then, if it has received the same data, and it went through the same code path as, for example, for me, why the results were different ? 20090814 03:26:41< Soliton> yes, i agree. ;-) 20090814 03:27:22< Crab_> Soliton: so, we'll add those additional info about unit hp and about rng data 20090814 03:27:36< Soliton> agreed. 20090814 03:28:01< Crab_> Soliton: should it be done before or after 1.7.3 ? 20090814 03:28:06< deekay> And we play another game before release? ;) 20090814 03:28:15< deekay> Before I'd say 20090814 03:28:29< Crab_> deekay: you think that we are lucky enough to trigger that bug again :) ? 20090814 03:28:44< deekay> Well, we were lucky today 20090814 03:28:45< deekay> :) 20090814 03:29:08< deekay> saturday sounds like a good time for a game ;) 20090814 03:30:05< Soliton> hmm, yeah the server only sends the seed back to the sender. 20090814 03:30:47< Soliton> but surely the attacker then sends it out to everyone. 20090814 03:31:04< Crab_> Soliton: but they don't log it in the replay ? 20090814 03:31:17< Soliton> yeah, seems like it. 20090814 03:31:40< Soliton> probably a new mechanism that ilor forgot to add to replays. 20090814 03:31:48< deekay> So I got incorrect data and AI that moved on my pc made a mess 20090814 03:32:05< Crab_> deekay: seems so. 20090814 03:32:08< Soliton> i wonder what is special about your side. 20090814 03:32:14< deekay> I was host 20090814 03:32:15< Crab_> Soliton: host ? 20090814 03:32:23< Soliton> being host shouldn't matter IMO. 20090814 03:32:28< deekay> But then 20090814 03:32:35< Crab_> chance/timing ? 20090814 03:32:39< Soliton> but you controlled the AI. 20090814 03:32:43< deekay> WhyI have correct data in a server, but what actually hapenned was incorrect? 20090814 03:32:52< Soliton> so you were involved in the fight as well. 20090814 03:32:54< deekay> s/server/save/ 20090814 03:33:08-!- ancestral [n=masterpr@97-116-126-165.mpls.qwest.net] has joined #wesnoth-dev 20090814 03:33:20-!- ancestral [n=masterpr@97-116-126-165.mpls.qwest.net] has quit [Client Quit] 20090814 03:33:30-!- ancestral [n=masterpr@97-116-126-165.mpls.qwest.net] has joined #wesnoth-dev 20090814 03:33:43< deekay> My save definiately have correct list of events that occured 20090814 03:33:51< Crab_> Soliton: I wonder if those random results can be gotten from that seed... 20090814 03:34:03< Soliton> a good question. 20090814 03:34:30< deekay> It's not that I got wrong data and then I stored this data in a save.. 20090814 03:34:55-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090814 03:35:03< Crab_> deekay: yes, so you stored the correct data in the replay... 20090814 03:35:03< Soliton> you got the right data but for some reason still made up your own it seems to me. 20090814 03:35:22< Crab_> deekay: but, you, maybe, *used* incorrect data 20090814 03:35:42-!- Elvish_Pillage2 [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has quit [Read error: 110 (Connection timed out)] 20090814 03:35:56< deekay> Crab_: So I would need to get both correct and incorrect data, or correct data somehow on my machine transfered into incorrect one 20090814 03:36:10< Crab_> incorrect data is easy to make up :) 20090814 03:36:15< Soliton> OOS errors are fun! 20090814 03:36:25< deekay> mindfuck :s 20090814 03:36:25 * Soliton goes to bed. 20090814 03:36:30< Crab_> good ghost! (c) Ivanovic 20090814 03:36:42 * deekay goes to bed as well 20090814 03:36:48< Crab_> hehe :) 20090814 03:37:03 * Shadow_Master goes to his guard post. 20090814 03:37:04< deekay> Maybe RNG needs a good sleep too :) 20090814 03:37:05< Crab_> it's 4:36 here.. 20090814 03:37:18< deekay> 3.36 20090814 03:37:46< deekay> Yea 20090814 03:37:52< deekay> Not enough mana left 20090814 03:37:58< deekay> Good night everyone 20090814 03:38:01< Crab_> night 20090814 03:38:56-!- Crab_ [i=crab@wesnoth/developer/crab] has quit ["Leaving."] 20090814 03:39:44-!- Espreon [n=espreon@wesnoth/developer/espreon] has quit ["WRYYYYYYYYYYYYYYYYYYYY!"] 20090814 03:42:54-!- Turuk_ [n=Turuk@wesnoth/forumsith/turuk] has quit [Read error: 110 (Connection timed out)] 20090814 03:50:26-!- Appleman1234 [n=Appleman@131.181.100.246] has quit [Read error: 60 (Operation timed out)] 20090814 03:52:07-!- giusef_ [n=giusef@unaffiliated/giusef] has quit [Remote closed the connection] 20090814 04:06:20-!- Appleman1234 [n=Appleman@131.181.100.246] has joined #wesnoth-dev 20090814 04:10:37-!- Espreon [n=espreon@wesnoth/developer/espreon] has joined #wesnoth-dev 20090814 04:45:03-!- Ivanovic_ [n=ivanovic@dtmd-4db2ace4.pool.einsundeins.de] has joined #wesnoth-dev 20090814 04:46:32-!- ancestral [n=masterpr@97-116-126-165.mpls.qwest.net] has quit ["And that's the end of THAT chapter"] 20090814 05:01:44-!- Ivanovic [n=ivanovic@wesnoth/developer/ivanovic] has quit [Read error: 110 (Connection timed out)] 20090814 05:03:01-!- Ivanovic_ is now known as Ivanovic 20090814 05:04:40-!- Blueblaze [n=Blueblaz@66-192-13-8.vtc.net] has joined #wesnoth-dev 20090814 05:25:53-!- Appleman1234 [n=Appleman@131.181.100.246] has quit ["Leaving"] 20090814 05:41:58-!- Zarel [i=Zarel@warzone2100/developer/Zarel] has quit [Read error: 110 (Connection timed out)] 20090814 06:00:51-!- Blueblaze [n=Blueblaz@66-192-13-8.vtc.net] has quit [] 20090814 06:02:20-!- esr [n=chatzill@wesnoth/developer/esr] has quit [Remote closed the connection] 20090814 06:34:42-!- esr [n=chatzill@static-71-162-243-5.phlapa.fios.verizon.net] has joined #wesnoth-dev 20090814 07:01:09-!- allefant [n=allefant@allegro/developer/allefant] has joined #wesnoth-dev 20090814 07:01:27-!- elias [n=allefant@allegro/developer/allefant] has quit [Read error: 110 (Connection timed out)] 20090814 07:04:33-!- Kenpachi [n=chatzill@CPE-58-166-239-192.sa.bigpond.net.au] has joined #wesnoth-dev 20090814 07:08:27-!- Kenpachi_ [n=chatzill@CPE-121-220-215-85.sa.bigpond.net.au] has joined #wesnoth-dev 20090814 07:12:25-!- Kenpachi__ [n=chatzill@CPE-124-182-210-126.sa.bigpond.net.au] has joined #wesnoth-dev 20090814 07:19:49-!- Espreon [n=espreon@wesnoth/developer/espreon] has quit ["WRYYYYYYYYYYYYYYYYYYYY!"] 20090814 07:26:33-!- Kenpachi [n=chatzill@CPE-58-166-239-192.sa.bigpond.net.au] has quit [Read error: 110 (Connection timed out)] 20090814 07:27:32-!- Kenpachi_ [n=chatzill@CPE-121-220-215-85.sa.bigpond.net.au] has quit [Read error: 110 (Connection timed out)] 20090814 07:27:38-!- PK8 [n=pk@r74-192-44-206.vctrcmta01.vctatx.tl.dh.suddenlink.net] has joined #wesnoth-dev 20090814 07:27:59-!- Appleman1234 [n=Appleman@131.181.100.246] has joined #wesnoth-dev 20090814 07:34:40-!- silene [n=plouf@AMarseille-251-1-74-34.w83-205.abo.wanadoo.fr] has joined #wesnoth-dev 20090814 07:41:57-!- Blarumyrran [i=tIRC@82.131.56.8.cable.starman.ee] has joined #wesnoth-dev 20090814 07:44:32-!- Kenpachi__ [n=chatzill@CPE-124-182-210-126.sa.bigpond.net.au] has quit [Read error: 110 (Connection timed out)] 20090814 07:46:11-!- crimson_penguin [n=ben@wesnoth/developer/crimsonpenguin] has quit [] 20090814 07:59:09-!- zookeeper [n=l@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20090814 08:16:14-!- Sirp [n=user@pool-71-164-166-178.dllstx.fios.verizon.net] has quit ["leaving"] 20090814 08:29:43-!- Appleman1234 [n=Appleman@131.181.100.246] has quit [Connection timed out] 20090814 08:38:43-!- ilor [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090814 08:48:11-!- stikonas [n=and@ctv-213-164-121-103.vinita.lt] has joined #wesnoth-dev 20090814 08:51:34-!- PK8 [n=pk@r74-192-44-206.vctrcmta01.vctatx.tl.dh.suddenlink.net] has quit ["Java user signed off"] 20090814 09:08:08-!- YogiHH [i=d4ca9d15@wesnoth/developer/yogihh] has joined #wesnoth-dev 20090814 09:08:14< YogiHH> hello 20090814 09:13:57-!- ilor [n=user@wesnoth/developer/ilor] has quit [] 20090814 09:16:53-!- euschn [n=chatzill@wesnoth/developer/euschn] has joined #wesnoth-dev 20090814 09:16:55< euschn> hi 20090814 09:26:17-!- Chusslove [n=Chusslov@adsl-ppp-1193.yubc.net] has joined #wesnoth-dev 20090814 09:51:16< silene> euschn: when loading a mp game, the engine complains it was made with an older version (even if it was made a few minutes ago); does that ring a bell? 20090814 09:52:14< euschn> silene: I will have a look at it 20090814 10:13:22-!- Chusslove [n=Chusslov@adsl-ppp-1193.yubc.net] has quit [Remote closed the connection] 20090814 10:19:22-!- melinath [n=melinath@pool-72-72-200-231.altnpa.east.verizon.net] has quit [Read error: 110 (Connection timed out)] 20090814 10:23:18-!- melinath [n=melinath@pool-72-72-200-231.altnpa.east.verizon.net] has joined #wesnoth-dev 20090814 10:39:04-!- Chusslove [n=Chusslov@adsl-ppp-1074.yubc.net] has joined #wesnoth-dev 20090814 10:44:26< CIA-62> silene * r37727 /trunk/src/ (controller_base.cpp display.cpp display.hpp): Prevented busy-waiting when not actually scrolling. 20090814 10:44:32< CIA-62> silene * r37728 /trunk/src/controller_base.cpp: Played nicer when the window is hidden. 20090814 10:44:40< CIA-62> silene * r37729 /trunk/ (changelog src/storyscreen/part.cpp): Added a speaker field to story parts, so as to unify/simplify campaign stories. 20090814 10:44:48< CIA-62> silene * r37730 /trunk/data/campaigns/ (5 files in 2 dirs): Converted campaigns to using the speaker field, in order to reduce the amount of translation noise. 20090814 10:44:56< CIA-62> silene * r37731 /trunk/src/storyscreen/part.cpp: Converted speaker field to pango markup. 20090814 10:45:02< CIA-62> silene * r37732 /trunk/data/campaigns/Delfadors_Memoirs/scenarios/16_dark_sky_over_weldyn.cfg: Fixed speaker name. 20090814 10:46:45-!- grzywacz [n=grzywacz@chello089074208238.chello.pl] has joined #wesnoth-dev 20090814 10:47:24-!- Kenpachi [n=chatzill@CPE-58-170-86-32.sa.bigpond.net.au] has joined #wesnoth-dev 20090814 11:02:04-!- loonybot [n=loonybot@79.139.138.234] has joined #wesnoth-dev 20090814 11:02:53-!- loonycyborg [n=sergey@79.139.138.234] has joined #wesnoth-dev 20090814 11:09:49< CIA-62> euschn * r37733 /trunk/src/savegame.cpp: fixed loadgame version compatibility check for multiplayer games 20090814 11:09:58< euschn> silene: it should work now 20090814 11:12:26-!- melinath [n=melinath@pool-72-72-200-231.altnpa.east.verizon.net] has quit [Read error: 113 (No route to host)] 20090814 11:14:24-!- euschn [n=chatzill@wesnoth/developer/euschn] has quit [Remote closed the connection] 20090814 11:26:05< CIA-62> jetryl * r37734 /trunk/data/core/ (19 files in 2 dirs): New images and animations for the thug. 20090814 11:27:27-!- Noyga [n=lame-z@wesnoth/developer/noyga] has joined #wesnoth-dev 20090814 11:29:21< Ivanovic> moin 20090814 11:37:30< fendrin> Ivanovic: hi 20090814 11:38:26-!- euschn [n=chatzill@wesnoth/developer/euschn] has joined #wesnoth-dev 20090814 11:40:52< CIA-62> silene * r37735 /trunk/src/ (game_config.cpp game_config.hpp savegame.cpp): Factored savegame version checking. 20090814 11:45:13< Ivanovic> stikonas: http://www.wesnoth.org/forum/viewtopic.php?f=7&t=26665&start=0 20090814 11:46:01-!- Tigge [n=tigge@m90-137-76-93.cust.tele2.se] has joined #wesnoth-dev 20090814 11:53:34< CIA-62> silene * r37736 /trunk/src/ (hotkeys.cpp menu_events.cpp tests/test_serialization.cpp): Removed test noise. 20090814 11:53:53-!- Tigge [n=tigge@m90-137-76-93.cust.tele2.se] has quit ["leaving"] 20090814 11:55:36-!- Crab_ [i=crab@wesnoth/developer/crab] has joined #wesnoth-dev 20090814 11:56:04-!- Blueblaze [n=Blueblaz@66-192-13-8.vtc.net] has joined #wesnoth-dev 20090814 12:02:32-!- Blueblaze [n=Blueblaz@66-192-13-8.vtc.net] has quit [] 20090814 12:05:30-!- ABCD_ [n=ABCD@gentoo/contributor/abcd] has joined #wesnoth-dev 20090814 12:06:37< CIA-62> jetryl * r37737 /trunk/data/core/images/units/human-outlaws/ (thug-melee-2.png thug-melee-8.png): New images and animations for the thug. 20090814 12:07:30-!- ABCD [n=ABCD@gentoo/contributor/abcd] has quit [Connection reset by peer] 20090814 12:09:14-!- wesbot changed the topic of #wesnoth-dev to: 1.7.3 planned for Sunday | 72 bugs, 239 feature requests, 12 patches | logs: http://irclogs.wesnoth.org/ | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20090814 12:35:22-!- mordante [n=mordante@87.215.201.26] has joined #wesnoth-dev 20090814 12:35:35< mordante> Shadow_Master, of course you can commit your gui2 code 20090814 12:37:05< mordante> fendrin, around? 20090814 12:37:19-!- EdB [n=edb@81.117.88-79.rev.gaoland.net] has joined #wesnoth-dev 20090814 12:46:19< fendrin> mordante: yes 20090814 12:50:01< mordante> fendrin, what's the exact problem you have with that pango markup bug report? 20090814 12:51:58< stikonas> Ivanovic: uu, I'm interesting why he wrote this 20090814 12:52:15< stikonas> we have 4 people on our team, so it shouldn't be very horible 20090814 12:53:08< stikonas> s/interesting/interested/ 20090814 12:54:35< fendrin> mordante: no idea what you are talking about. Please join wesnoth-de. 20090814 13:05:05-!- Crab_ [i=crab@wesnoth/developer/crab] has quit [Read error: 104 (Connection reset by peer)] 20090814 13:09:29-!- ettin [n=jorda@wesnoth/developer/ettin] has quit [Read error: 110 (Connection timed out)] 20090814 13:12:47-!- Blarumyrran [i=tIRC@82.131.56.8.cable.starman.ee] has quit [Read error: 54 (Connection reset by peer)] 20090814 13:13:52-!- Elvish_Pillage2 [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has joined #wesnoth-dev 20090814 13:28:04-!- Crab_ [i=crab@wesnoth/developer/crab] has joined #wesnoth-dev 20090814 13:28:22-!- xchat_sux [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has joined #wesnoth-dev 20090814 13:32:50-!- xchat_sux is now known as Elvish_Pillager 20090814 13:36:08-!- Noyga [n=lame-z@wesnoth/developer/noyga] has left #wesnoth-dev ["Quitte"] 20090814 13:39:28< silene> stikonas: i don't the current state of your translation, but it may just be that he stumbled upon a campaign where every two strings is in english; that usually conveys a bad impression 20090814 13:41:56-!- Kenpachi [n=chatzill@CPE-58-170-86-32.sa.bigpond.net.au] has quit ["ChatZilla 0.9.85 [Firefox 3.0.13/2009073022]"] 20090814 13:43:55< Crab_> Soliton, deekay, ilor, loonycyborg, Ivanovic: I've found the reason behind yesterday's OOS. 20090814 13:44:25-!- euschn [n=chatzill@wesnoth/developer/euschn] has quit [Read error: 110 (Connection timed out)] 20090814 13:44:29< CIA-62> crab * r37738 /trunk/src/ (ai/actions.cpp ai/default/ai.cpp unit.cpp unit.hpp): -1 OOS 20090814 13:44:35< Crab_> On turn 4, dwarven AI has moved a 15/33 hp Dwarvish Ulfserker to the keep on (29,26), to get healing. Then, it said 'ok, I'm done with that unit'. And that was ok. 20090814 13:44:41< Crab_> But, next turn it has decided to get healing (for 23/33hp Ulfserker) again - thus, leaving the Ulfserker on keep. Then, it said 'ok, I'm done with that unit'. 20090814 13:44:48< Crab_> So, set_movement(0) was called on the Ulfserker, and his moves were reset from full movement to 0. Unfortunately, his STATE_NOT_MOVED was not reset to 'true', so, at the end of turn, Dragonking's (and only Dragonking's) wesnoth has ruled that the unit is not rested. 20090814 13:44:51-!- Elvish_Pillage2 [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has quit [Read error: 110 (Connection timed out)] 20090814 13:44:52< Crab_> Thus, it (only for Dragonking) has regained 2hp less. For us, it has 33/33 hp, For DK & AI - 31/33 hp. 20090814 13:45:00< Crab_> Then, it was attacked by Soliton's bat, and then, by Soliton's Ghost. For everyone, the Ghost was left with 8hp. But, for Dragonking (and for the AI - DK was host), who considered the ulf to have 2hp less, Ghost won quicker, and was left with 13hp. 20090814 13:45:04< Crab_> Next turn, the Gryphon, controlled by the AI has attacked the ghost, killing him for everyone except Dragonking. Some time after, the AI attacked the ghost again. OOS for the rest of us. 20090814 13:45:16< Crab_> thanks to deekay & Soliton for helping to debug this. 20090814 13:46:34-!- ettin [n=jorda@wesnoth/developer/ettin] has joined #wesnoth-dev 20090814 13:48:15< deekay> Crab_: ohhh nice 20090814 13:50:12< Crab_> deekay: note that we should get rid of those stopunit_action , in order for everything to be more robust 20090814 13:50:38< Soliton> s/keep/village/ 20090814 13:50:47< Crab_> deekay: for example, what about attaching a turn-scoped flag to unit 'AI is done with me' ? 20090814 13:50:50< Soliton> ok, makes sense then. 20090814 13:50:52< Crab_> Soliton: yes 20090814 13:51:06< deekay> Crab_: Yes, that makes sense 20090814 13:51:27< silene> Crab_: there is already one; please don't add yet another 20090814 13:52:05< Crab_> silene: which one ? 20090814 13:52:37< silene> Crab_: unit::user_end_turn 20090814 13:53:08< Crab_> silene: ok, thanks 20090814 13:53:12-!- EdB [n=edb@81.117.88-79.rev.gaoland.net] has quit [Remote closed the connection] 20090814 13:54:53< Crab_> deekay: so, what about wrapping 'unit::movement_left()' for src/ai ? 20090814 13:55:15< Crab_> deekay: and fixing move map calculation to respect that flag, too 20090814 13:55:34-!- Turuk_ [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090814 13:56:43< deekay> Crab_: How you would like to wrap movement_left()? Would it affect formula AI? 20090814 13:57:19< Crab_> deekay: if (unit_turn_has_ended) { return 0; } else { return movement left} 20090814 13:57:41< Crab_> deekay: I'll be back in an hour 20090814 13:57:43-!- Netsplit clarke.freenode.net <-> irc.freenode.net quits: yann, loonycyborg 20090814 13:58:39-!- Netsplit over, joins: loonycyborg, yann 20090814 13:58:39< deekay> Crab_: And after move() you would set unit_turn_has_ended? 20090814 13:58:39< deekay> Crab_: What about move_partial that uses up all movement points? 20090814 13:58:49< silene> Crab_: there is another way to do it otherwise; keep setting movement to 0, but set instead state_not_moved on the unit 20090814 13:59:38< Crab_> silene: that is r37738 20090814 13:59:38< Soliton> setting movement to 0 is an annoying hack. 20090814 14:00:01< Crab_> deekay: I'll set that flag instead of set_movement(0) 20090814 14:00:51< Crab_> silene: but I want to get rid of set_movement(0) - human cannot do it, why AI should ? 20090814 14:01:13< silene> Crab_: note that wml can 20090814 14:02:37< Crab_> silene: at least it doesn't do that it standard MP games 20090814 14:02:48-!- Crab_ [i=crab@wesnoth/developer/crab] has quit ["Leaving."] 20090814 14:04:53< Soliton> it's also not the first time that set movement to 0 causes OOS errors. 20090814 14:07:46-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has quit [Read error: 110 (Connection timed out)] 20090814 14:13:07< CIA-62> dragonking * r37739 /trunk/src/ai/formula/function_table.cpp: Add formula debuger parameter to calculate_map_ownership function 20090814 14:13:35-!- Valkier [n=karasawa@c-71-225-240-156.hsd1.pa.comcast.net] has joined #wesnoth-dev 20090814 14:15:09< CIA-62> dragonking * r37740 /trunk/src/formula_function.cpp: Add possibility to pass parameters to null() formula function to silence them and make use only of their side effects (i.e. print label) 20090814 14:19:34< CIA-62> dragonking * r37741 /trunk/data/ai/formula/new_recruitment.fai: Slence flood of errors comming from testing formula recruiting code 20090814 14:20:20-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090814 14:28:26-!- Turuk_ [n=Turuk@wesnoth/forumsith/turuk] has quit [Connection timed out] 20090814 14:28:42-!- Valkier [n=karasawa@c-71-225-240-156.hsd1.pa.comcast.net] has quit [] 20090814 14:35:50< CIA-62> dragonking * r37742 /trunk/src/ (5 files): Added fixed-point arythmetic for formula language 20090814 14:37:12< Ivanovic> and in gentoo unstable amd64 gcc 4.4.1 has arrived 20090814 14:37:28< Ivanovic> lets see if it is possible to compile wesnoth with default settings (strict compilation) 20090814 14:39:27-!- allefant [n=allefant@allegro/developer/allefant] has quit [Read error: 104 (Connection reset by peer)] 20090814 14:44:17-!- stikonas [n=and@wesnoth/translator/stikonas] has quit [Read error: 104 (Connection reset by peer)] 20090814 14:47:18-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has joined #wesnoth-dev 20090814 14:48:42< CIA-62> soliton * r37743 /trunk/src/savegame.cpp: reinstated test version check 20090814 14:51:27< silene> Soliton: how do you trigger it? 20090814 14:51:46< silene> i ran the unit tests (in particular, test_version), and it wasn't needed 20090814 14:52:07< Soliton> when you have your version set to the test version. 20090814 14:52:28-!- stikonas [n=and@ctv-213-164-121-103.vinita.lt] has joined #wesnoth-dev 20090814 14:53:30< silene> how do you set it to the test version? 20090814 14:53:39-!- Crab_ [n=Crab_@wesnoth/developer/crab] has joined #wesnoth-dev 20090814 15:00:25< silene> Soliton: ? 20090814 15:01:12-!- allefant [n=allefant@allegro/developer/allefant] has joined #wesnoth-dev 20090814 15:01:43< fendrin> The drakes are the only race I can't browse in the help from the main menu. What reason could that have? 20090814 15:02:39< silene> fendrin: perhaps because there ids where changed, so you haven't discovered them yet 20090814 15:02:44< silene> were* 20090814 15:04:17< fendrin> I see. 20090814 15:15:40< silene> Crab_: when loading a mp savegame, the engine doesn't respect the ai choices; it seems to reload those set in the savegame 20090814 15:16:32-!- BenUrban [n=benurban@unaffiliated/benurban] has quit ["Power failu"] 20090814 15:18:32-!- boucman [i=43fa2d5d@wesnoth/developer/boucman] has joined #wesnoth-dev 20090814 15:18:39< boucman> hey all 20090814 15:18:53< boucman> not here for long, but Iwanted to say hello 20090814 15:18:53< Crab_> hi boucman 20090814 15:20:02< Ivanovic> hello 20090814 15:20:03< Ivanovic> ;) 20090814 15:22:00< Crab_> silene: ok, I'll take a look.. 20090814 15:25:28-!- boucman [i=43fa2d5d@wesnoth/developer/boucman] has quit ["Page closed"] 20090814 15:26:19< knotwork> in some scenarios if I save and then load the savefile my leader appears in his recall list. any idea what causes that / how one would/could cause it? 20090814 15:26:41< knotwork> (or better yet, how to make it not happen) 20090814 15:27:05< knotwork> I can drop him from the list, save again and reload again and he is back in the list 20090814 15:28:11< knotwork> I cant figure out what is different between scenarios where it doesnt happen and those in which it does 20090814 15:30:57-!- Turuk_ [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090814 15:33:06-!- fabi [n=fabi@wesnoth/developer/fendrin] has joined #wesnoth-dev 20090814 15:36:48< Soliton> silene: well, you set game_config::version to "test". 20090814 15:37:39< silene> Soliton: you mean that you added these two checks just in case someone modifies the source code by hand?! 20090814 15:38:14< Soliton> yes. 20090814 15:38:27< Soliton> i do that to be able to join any mp server. 20090814 15:38:28-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has quit [Read error: 110 (Connection timed out)] 20090814 15:42:49< CIA-62> silene * r37744 /trunk/src/savegame.cpp: Clarified comment. 20090814 15:44:28< Soliton> clearly a necessary clarification. ;-) 20090814 15:44:41< Soliton> no one else is allowed to do that afterall. 20090814 15:45:35-!- AnMaster [n=AnMaster@unaffiliated/anmaster] has joined #wesnoth-dev 20090814 15:46:13< silene> i had removed them because there was no way it could occur in the current code; there is no reason for just me to notice this impossibility, so i added the comment so that no one else breaks your testing later 20090814 15:47:15< Soliton> obviously there was no way other then when the version would say "test" which was clearly stated. 20090814 15:47:44< Soliton> i don't know why you would remove functionality when doing refactoring anyway. 20090814 15:48:11< Soliton> i did only put the check back in because i saw it got removed with no mention of it in the commit. 20090814 15:48:32-!- fendrin [n=fabi@wesnoth/developer/fendrin] has quit [Read error: 110 (Connection timed out)] 20090814 15:50:30< silene> Soliton: if it can't happen with the current code, then i don't call it a "functionality" 20090814 15:51:57< Soliton> a savegame can have any version otherwise you don't need most of those checks. 20090814 15:52:38< Soliton> "current code" also doesn't procude a version below min_savegame_version. 20090814 15:55:22< fabi> I can't quit wesnoth if another applikation owns the audio device. 20090814 15:56:51-!- mjs-de [n=mjs-de@vpw.wh.Uni-Dortmund.DE] has quit ["On the road again"] 20090814 16:09:19-!- Chusslove [n=Chusslov@adsl-ppp-1074.yubc.net] has quit [Remote closed the connection] 20090814 16:10:32-!- Sapient [n=patrickp@wesnoth/developer/sapient] has joined #wesnoth-dev 20090814 16:10:56-!- ilor [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090814 16:12:45< ilor> regarding the OOS I saw in the logs, first of all were everyone playing trunk? trunk vs 1.7.2 will not work and that's to be expected 20090814 16:13:22< Soliton> first of all it's fixed. ;-) 20090814 16:13:42< Soliton> the AI was cheating as usual. 20090814 16:14:03< ilor> ah fine then ;) 20090814 16:14:22-!- Espreon [n=espreon@wesnoth/developer/espreon] has joined #wesnoth-dev 20090814 16:14:32< Soliton> would be nice to add the random results from the server to everyone's replay. 20090814 16:14:55< ilor> the missing [random] stuff will not really be needed once all rng switches to the new seed= method 20090814 16:15:53< Soliton> it makes it possible to follow the replay by looking at it. 20090814 16:16:09< ilor> Soliton: noted 20090814 16:16:16< ilor> hi mordante 20090814 16:16:30< Soliton> though if you think the seed is enough just make it the same for everyone. 20090814 16:16:42< Crab_> Soliton: it's better to fix unit checksums.. 20090814 16:16:52< ilor> Soliton: it is enough as evidenced by combats not OOSing ;) 20090814 16:17:27< Soliton> well, combat OOS'd and there was no mention of it. 20090814 16:17:36< ilor> Soliton: but I can make the non-attacking clients fill [random_results], it will make debugging easier (or not harder) 20090814 16:17:49< Soliton> but the unit checksums are a nice general solution indeed. 20090814 16:17:52< Crab_> ilor: better devote time to fix unit checksums 20090814 16:18:07< ilor> Crab_: not familiar with that bit yet 20090814 16:18:32< Crab_> ilor: i.e., for each order, add a checksum of the units involved 20090814 16:18:35-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has quit ["leaving"] 20090814 16:19:08< Crab_> ilor: and, if they do mismatch, do 1) make each side log full unit config to replay/stderr 2) raise OOS 20090814 16:20:04< ilor> Soliton: there should always now be a seed= in [attack]s in a replay 20090814 16:20:24< Crab_> with unit checksums, we will get an OOS faster. without it, we had to 'backtrack' the gamestate changes until we found the cause.. 20090814 16:20:42< ilor> Crab_: yeah generally getting the OOS as early as possible would be best 20090814 16:21:02< Crab_> ilor: it was not enough. since each side has received the same seed, but one of the sides has special opinion about the hitpoints of a unit 20090814 16:21:27< Crab_> ilor: a 'total checksum' of all units on end_turn will be nice, too 20090814 16:21:30< silene> ilor: in case you didn't read the logs, note that the oos was related neither to the attack code nor the rng 20090814 16:22:24< Crab_> ilor: also note that if the checksum fails, it's possible to immediately find out 'why?' - i.e. print the config of offending unit. 20090814 16:24:46-!- Sirp [n=user@wesnoth/developer/dave] has joined #wesnoth-dev 20090814 16:25:05< silene> Crab_: not necessarily; you seem to assume that all the actions appear in the replay; note that this is incorrect for at least 3 mp mainline scenarios 20090814 16:25:42< Crab_> silene: yes I know of at least 1 mp mainline scenario where this is the case. 20090814 16:26:03< Crab_> silene: still, 'making unit maps mismatch' is evil, in my opinion. 20090814 16:26:38< Crab_> silene: since, if we check unit maps for being equal, we would catch OOSes earlier - thus, making them a lot easier to debug. 20090814 16:27:06< ilor> silene: I missed that but Soliton explained it already :) 20090814 16:27:39< Crab_> silene: And, we can introduce a flag "do_not_checksum_this_unit" to wml, in special cases. 20090814 16:28:22< ilor> Crab_: checksums should always match otherwise what's the point of them? 20090814 16:28:35< silene> Crab_: how do you check they are equal? i thought not sending data under shroud was one of the goals 20090814 16:30:30< Crab_> silene: check by adding a checksum method to unit map which will make a checksum of all/'all non-excluded' units, for example, by hashing some fields of unit WML representation. 20090814 16:30:59< Crab_> silene: what's the problem with sending data under shroud ? 20090814 16:31:09< silene> note that the hashing part is already done and is already used in mp games 20090814 16:31:11< Crab_> silene: checksum is small in size, anyway 20090814 16:32:13< silene> Crab_: no, it wasn't a matter of size; if we decide to no longer to clients what they can't see, and if we send them the checksum of the map, then it can never match 20090814 16:32:52< Sapient> if only there was a way to trigger a full comparison (unit diff) after a checksum failure 20090814 16:33:14< Crab_> Sapient: it should be implemented... 20090814 16:34:32< Crab_> silene: well, deciding that we 'do not send data to clients about the info they cannot see', requires a major rewrite of many parts of the engine. isn't it better to implement full unit_map checksums now (it's not that hard), and think about 'no longer send to clients what they can't see' later ? 20090814 16:35:17-!- crimson_penguin [n=ben@64.201.60.211] has joined #wesnoth-dev 20090814 16:36:04< Crab_> silene: or, that decision to move to the state where each client has incomplete info should be made. 20090814 16:36:28< silene> "major rewrite" is a bit excessive; the client almost doesn't have to be modified; what needs to be modified however is the server 20090814 16:36:35< mordante> fabi, your hanging problem is it like this one? http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=540518 20090814 16:36:37< mordante> hi ilor 20090814 16:37:48< Sapient> silene: what about WML events that fire as a result of unseen units being manipulated? 20090814 16:38:00< Crab_> silene: movement of action resolution to server ? i.e. 'the server will send the info about moves\events\etc' ? 20090814 16:38:15< Sapient> ... or other WML events that might fail as a result of missing hidden units from the unit_map 20090814 16:38:47< silene> Sapient: the client can't do anything about data it doesn't have anyway; that's why i said it's the server had to be modified 20090814 16:40:19< silene> Crab_: yes; ilor already made a step toward this by moving the attack rng to the server; and i think it makes sense on the long term 20090814 16:40:39< Crab_> silene: so, in that case, each client (even in SP) will not touch the state of the game, but send orders to the 'server part', which will handle all game state changes and send replay data ? 20090814 16:40:55< silene> Crab_: in an ideal world, yes 20090814 16:41:10< Crab_> silene: so, are we going to move to the ideal world someday ? 20090814 16:42:24< Sapient> playing Wesnoth in heaven 20090814 16:42:25< silene> Crab_: it took 5 years to get server rng, but it was done; so yes, someday, but not necessarily anytime soon; but that doesn't prevent us to think about a way to do a forward-compatible checksuming 20090814 16:42:25< Soliton> sounds quite expensive for the server side. 20090814 16:43:18< fabi> mordante: not exactly but very similar 20090814 16:43:28< Crab_> Soliton: this 'server side' can be connected to one of the clients, for example, to host. 20090814 16:43:36< Sapient> yeah, every time a unit is selected, that could trigger WML event handling on the server 20090814 16:43:50< Crab_> Soliton: so, one of the 'clients' will have full info, and everyone else will have partial info. 20090814 16:44:02< fabi> mordante: I believe it's related to a new kde version that comes with this phonon sound server. 20090814 16:44:08< silene> Sapient: i wouldn't go that far; selecting unit doesn't work in mp anyway 20090814 16:44:18< Soliton> Crab_: then it loses all security benefits. 20090814 16:44:21< Crab_> Soliton: or, for tournauments/etc, that 'client with full info' can be a dedicated host 20090814 16:44:37< Sapient> silene: true, it only gets synchronized under specific situations 20090814 16:45:18< silene> Sapient: does it? (i'm not even sure there are such situations) 20090814 16:45:34< Sapient> http://www.wesnoth.org/forum/viewtopic.php?p=376324#p376324 20090814 16:46:30< silene> interesting 20090814 16:46:39 * YogiHH thinks that WML is a far too mighty beast :-P 20090814 16:47:06 * Sapient feeds the beast 20090814 16:50:26< Sapient> having an unsynchronized select event is still useful in MP too 20090814 16:50:33< Crab_> well, 1) calculating gamestate changes requires access to full game info 2) calculating gamestate changes can be expensive. therefore, if we require that 'no one of players shall have access to full game state', the need will arise for a separate 'gamestate server' part which will have access to full game state and do expensive computations. 20090814 16:51:06< Sapient> for example, in a Chess mod, you can highlight all the reachable hexes for a chess piece without showing the opponent what moves you are considering 20090814 16:51:24-!- [Relic] [n=[Relic]@99-58-54-211.lightspeed.milwwi.sbcglobal.net] has joined #wesnoth-dev 20090814 16:52:27< [Relic]> Hello :) 20090814 16:52:58< Sapient> hey there Relic 20090814 16:53:02< YogiHH> knotwork: Savegame issues are pretty complex most of the time, but i hope that the recent refactoring made spotting such things a little easier. Which release are you referring to, btw? 20090814 16:53:18< [Relic]> :) 20090814 16:53:28< silene> Crab_: expensive? it didn't seem that expensive in freeciv; is there much a wesnoth server would have to compute? 20090814 16:54:03< silene> (in fact, i think it is probably more expensive in freeciv, since movements are simultaneous) 20090814 16:54:36< knotwork> 1.6.4 ; I I solved the problem by forcing all the different leaders you can choose between to all use the exact same id 20090814 16:54:40< Crab_> silene: imagine a WML event : "levelup all units which match this formula". And I've seen formula_ai formulas which take several seconds of CPU time to compute. 20090814 16:54:58< knotwork> which makes all the dialogue less easy to remember who is talking but did fix the problem 20090814 16:55:33< Crab_> silene: multiply by the number of games.. 20090814 16:55:37< YogiHH> knotwork: so that is for a campaign or scenario you are creating? 20090814 16:56:12< silene> Crab_: the fact that formula ai does not really matter; if any, formula ai should be fixed to be faster 20090814 16:56:15< knotwork> yeah "Between the Worlds"; you choose to play tourist fighter, tourist fighteress, wenothian squire, space cadet or time cadet 20090814 16:56:20< silene> +is slow 20090814 16:56:42< YogiHH> knotwork: Is it downloadable already? 20090814 16:58:02< knotwork> yeah its been on the 1.6.4 add-ons server a few days now, with several fixes last few days and more to come as soon as I ensure this probelm is fixed 20090814 16:58:09< Crab_> silene: yes, formula_ai does too many dynamic_cast's... 20090814 16:58:39< YogiHH> knotwork: great. I can't promise you about it but i will have a look at that if time permits. 20090814 16:59:33< YogiHH> alright, i have to go 20090814 16:59:36< YogiHH> see you 20090814 16:59:42-!- YogiHH [i=d4ca9d15@wesnoth/developer/yogihh] has left #wesnoth-dev [] 20090814 17:01:07< Crab_> silene: still, there are questions: "what hardware will be needed for current wesnoth official server to work this way for all games" ? "what methods will be needed to protect the server from being overloaded by execution of a certain formula/wml snippet" ? 20090814 17:02:03< Sapient> WML has some built-in protections against infinite loops 20090814 17:02:22< Sapient> but I think those have been masked by the inferior lua implementations in trunk :p 20090814 17:03:20< Sapient> (which are also missing WML debug log printouts, I might add) 20090814 17:04:22< Sapient> but I haven't complained too loudly since it is a work in progress afterall 20090814 17:04:55< Sapient> and can easily be removed if desired to fall back on C++ 20090814 17:06:51< Sapient> your point is still certainly a valid one, though, Crab_; even with infinite loop prevention you could still create tasks that take hideously long to compute 20090814 17:08:47< Crab_> Sapient: another point is handling client quits. 20090814 17:08:47< Sapient> not an insurmountable problem though; I'm sure there's some way to monitor resource consumption and kill offenders 20090814 17:10:23-!- lizard_r [n=Miranda@wesnoth/umc-dev/developer/lizard] has joined #wesnoth-dev 20090814 17:10:36< Crab_> Sapient, silene: ok, is there a way to 'estimate' the hardware load of 'handling gamestate changes' ? 20090814 17:10:53< Crab_> for example, by profiling 20090814 17:11:28< mordante> fabi, ah thanks for that piece of info, will ask the debian reported whether he uses that as well 20090814 17:11:55< Sapient> consider also WML code that can have built in delays before causing user interface changes such as colorshift and sound 20090814 17:12:22< CIA-62> dragonking * r37745 /trunk/src/variant.cpp: Allow comparision between integer and fixed point in formula language 20090814 17:12:35< silene> Sapient: i hope you don't think that the recursion preventer actually works? i can make wesnoth segfaults with a few lines of wml (one, if i remove the unneeded linebreaks) 20090814 17:13:26< Sapient> silene: if it doesn't work I'd consider it a bug and fix it 20090814 17:13:42< Sapient> also, it is our policy that user supplied WML should be unable to cause segfaults 20090814 17:13:50< Sapient> although bugs certainly exist 20090814 17:14:02< Sapient> the should be fixed 20090814 17:15:07< silene> the wml code is trivial: just define a wml event that fires itself recursively 20090814 17:15:32< Sapient> that already has recursion prevention 20090814 17:15:47< Sapient> there is a counter incremented in fire event 20090814 17:15:49< silene> Sapient: try it, it definitely doesn't work 20090814 17:16:49< Sapient> maybe it doesn't work in your buggy lua version 20090814 17:17:09< Sapient> I can check later tonight though ;) 20090814 17:19:38-!- thespaceinvader [n=chatzill@wesnoth/artist/thespaceinvader] has joined #wesnoth-dev 20090814 17:24:05< Crab_> silene: at least, we do agree that individual unit checksums in [attack] actions are useful and do not contradict 'possible future plans about client partial game info knowledge' ? 20090814 17:25:16< silene> Crab_: yes, we agree (as a matter of fact, if you look at the irc logs a few weeks ago; it's exactly what i was suggesting) 20090814 17:25:57< Crab_> ok 20090814 17:35:49-!- lizard_r [n=Miranda@wesnoth/umc-dev/developer/lizard] has quit ["Saurian Augur - I'll heal you by 4 hp if you leave next to me"] 20090814 17:38:49< Crab_> Sapient: 'having an unsynchronized select event is still useful in MP too' - is there a way to have an unsyncronized recruit event ? 20090814 17:39:19< Crab_> Sapient: (I'm thinking about choose-your-recruit's era, where 1st turn recruits are snatched away by WML) 20090814 17:40:33< Sapient> no... there shouldn't be any other unsynchronized WML events, other than "ai turn" and those which rely on unsafe random 20090814 17:44:00< Crab_> ok 20090814 17:44:14< Sapient> ai turn is sometimes used to set the moveto locations directly in AI units before they move 20090814 17:48:15-!- AnMaster [n=AnMaster@unaffiliated/anmaster] has quit ["ZNC - http://znc.sourceforge.net"] 20090814 17:58:20-!- melinath [n=melinath@pool-72-72-200-231.altnpa.east.verizon.net] has joined #wesnoth-dev 20090814 17:59:21-!- AnMaster [n=AnMaster@unaffiliated/anmaster] has joined #wesnoth-dev 20090814 18:01:05< Sapient> although for computers as slow as mine, I'd appreciate having a remote server running the AI for me as well ;) 20090814 18:01:36< Crab_> Sapient: a cluster of servers :) 20090814 18:02:17< Sapient> now we just need a benefactor to donate it 20090814 18:05:51< Sapient> Crab, maybe I can override the default ai to a really dumb one now that it is more pluggable? 20090814 18:06:20< Sapient> that might be my only option for hosting some MP scenarios with lots of AI 20090814 18:06:48< Sapient> *err, lots of computer controlled units 20090814 18:07:34< mordante> I'm off bye 20090814 18:07:37< Sapient> but modifying the scenario files alone is not enough if the host hands me control when I was not expecting it 20090814 18:07:50-!- mordante [n=mordante@87.215.201.26] has quit ["Leaving"] 20090814 18:07:56< Crab_> Sapient: yes, it's possible. you can try RCA AI - it has simpler targeting phase, so it can be faster with lots of units 20090814 18:08:58< Crab_> Soliton: (launch with -d, or move its config from data/ai/dev to data/ai/ais ) 20090814 18:09:14-!- wesbot changed the topic of #wesnoth-dev to: 1.7.3 planned for Sunday | 71 bugs, 239 feature requests, 12 patches | logs: http://irclogs.wesnoth.org/ | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20090814 18:12:06< Crab_> Sapient: also, you can try to reduce attack_depth in data/ai/utils/default_config.cfg 20090814 18:12:20< Crab_> Sapient: from 5 to 3, for example 20090814 18:12:26< Sapient> ok, thanks 20090814 18:12:58< Sapient> that means you would only get swarmed by max of three AI units at once? 20090814 18:13:49< Crab_> Sapient: no. it will construct the list of possible attacks only '3 attacks ahead' 20090814 18:14:24< Crab_> Sapient: so, it will not 'see in advance' some situations where it can concentrate fire on a badly protected high-hp unit. (It can do so anyway, by chance) 20090814 18:14:56< Crab_> Sapient: also, If you want to, you can ask me to revive old 'sample_ai' - it is 'really dumb, really fast' 20090814 18:15:14< Sapient> ha 20090814 18:15:43< Sapient> well, I'm sure there's other stuff you'd rather be working on 20090814 18:15:45< Crab_> Sapient: also, you can cripple RCA ai by throwing away some stages such as 'healing stage' 20090814 18:16:04< Sapient> I might write my own idiot AI if I find the time 20090814 18:16:25< Crab_> Sapient: well, that revival only requires moving some stuff from .cpp to .hpp 20090814 18:16:52< Crab_> Sapient: also, you can give RCA AI good income and drop get_villages phase from it. 20090814 18:17:23-!- ilor [n=user@wesnoth/developer/ilor] has quit [] 20090814 18:17:24< Sapient> I think there are some people who would like a stupid but fast option (such as myself) 20090814 18:17:25< Crab_> droping phases is as simple as removing stuff from testing_ai_default.cfg 20090814 18:19:04< Sapient> is there a way then to set it as the default AI, without modifying the C++ ? 20090814 18:19:11< Crab_> adding a 'stupid but fast option' only requires adding a config file to one of the data/ai/ais or data/ai/dev directories 20090814 18:19:26< Crab_> ais in data/ai/ais is 'visible always', data/ai/dev is visible in debug mode 20090814 18:19:38< Crab_> be sure to assing a unique id/description in wml 20090814 18:20:23< Crab_> Sapient: this way it will work in MP 20090814 18:21:52< Sapient> not sure I understood that last statement 20090814 18:22:41-!- Noyga [n=lame-z@wesnoth/developer/noyga] has joined #wesnoth-dev 20090814 18:23:05< Sapient> I thought AI was handled by the (side owning) client? so MP should be irrelevant 20090814 18:23:30< Crab_> Sapient: "is there a way then to set it as the default AI, without modifying the C++" -> to allow selection of that AI in 'multiplayer/local games', just add a WML config file to data/ai/ais 20090814 18:23:43< Crab_> Sapient: scenarios with 'use map settings', on the other hand, are more tricky 20090814 18:24:43-!- Tigge [n=tigge@m90-137-68-183.cust.tele2.se] has joined #wesnoth-dev 20090814 18:25:09< Crab_> Sapient: since they are not converted to new ai syntax yet, and use a backward-compatibility mode to parse the config 20090814 18:25:28< Sapient> well, I'm mostly concerned about situations where I become the host unexpectedly and all the sudden I'm controlling a ton of AI units on my cruddy laptop 20090814 18:25:44-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090814 18:26:02-!- ABCD_ is now known as ABCD 20090814 18:26:17< Sapient> modifying attack depth of default cfg might be enough, hopefully 20090814 18:26:54< Crab_> Sapient: no, it will not fix 'I become host unexpectedly' problem 20090814 18:27:10< Crab_> Sapient: since if you weren't a host in the first place, other person's default_config.cfg will be used 20090814 18:27:55< Crab_> Sapient: to fix this 'I become the host unexpectedly', I need to add a 'modify_ai' command to mp console 20090814 18:28:22< Crab_> (as of now, this command is available only through formula_ai console, which is disabled in multiplayer) 20090814 18:28:43< Sapient> I see 20090814 18:29:04< Crab_> Sapient: so, you'll be able to do "modify_ai 1 ai/dev/stupid_and_fast.cfg" , "modify_ai 2 ai/dev/stupid_and_fast.cfg" , "modify_ai 4 ai/dev/stupid_and_fast.cfg" - for each ai side 20090814 18:29:14< Sapient> well it is good that AI settings transfer with side control changes now 20090814 18:29:18< silene> in fact, you could type: :lua wesnoth.fire("modify_ai", ...), if only you had enabled lua in your build... 20090814 18:29:46< Sapient> touche' 20090814 18:30:24< Crab_> silene: [modify_side] with [ai] with switch_ai=aaa.cfg 20090814 18:31:31< silene> right, i hadn't the exact wml syntax in mind 20090814 18:33:32< Crab_> Sapient: btw, can't you add a special option to not become host unless absolutely necessary ? 20090814 18:35:06< Sapient> I wouldn't request that feature necessarily 20090814 18:35:31-!- Turuk_ [n=Turuk@wesnoth/forumsith/turuk] has quit [Read error: 110 (Connection timed out)] 20090814 18:35:39< Crab_> Sapient: but you can code it :) if  (  wesnoth_version == game_config::test_version ) {....} 20090814 18:36:06< Sapient> it is already possible to pass control of sides 20090814 18:36:35< Crab_> Sapient: ok. to sum up this discussion, is there anything I should modify/add ? 20090814 18:36:42< Crab_> (to ai functionality) 20090814 18:36:58-!- noy [n=noy@wesnoth/developer/noy] has joined #wesnoth-dev 20090814 18:37:10< deekay> Crab_: does action->check_before() guarantee that if is_ok() returns true then move will execute? 20090814 18:37:56< Crab_> deekay: no. it guarantees that "as far as reasonably possible, but without doing anything, we have checked that the move is valid" 20090814 18:38:20< Crab_> deekay: but, how can you know if some evil shadows lurk in the forest without actually venturing into said forest ? 20090814 18:38:31< Sapient> Crab_: maybe the best thing would be an override AI which could be specified on the command line or in a CFG file, to always use that particular AI regardless of map/side specifications 20090814 18:38:52< Crab_> deekay: or, how can you know that some evil WML event lurks in your path ? 20090814 18:39:30< deekay> True 20090814 18:40:03-!- noy [n=noy@wesnoth/developer/noy] has quit [Client Quit] 20090814 18:40:22< Crab_> Sapient: e.g., a command line parameter that will say: ignore *all* ai map options, era options, scenario options, save options, just use *that* AI. yes ? 20090814 18:41:02< Sapient> yes 20090814 18:41:55< Sapient> not sure if anyone else would find it useful, but I would use it 20090814 18:42:12< Sapient> it could allow faster testing I suppose of a new ai 20090814 18:44:50< Sapient> maybe the iphone port would use it 20090814 18:45:38< Sapient> or... something similar 20090814 18:46:42< deekay> Crab_: Does this look like a good way to not execute wrong move (I'm trying to silence these errors when I want to use safe_call) http://wesnoth.pastebin.com/d2b4e0422 20090814 18:47:31< Crab_>   recruit_result_ptr recruit_result( new ai::recruit_result(get_side(), recruit_command->type(), recruit_command->loc()) ); recruit_result->check_before(); => use check_recruit_action instead 20090814 18:49:10< Crab_> deekay: if fai is initialized fully, it has ai_ptr_ 20090814 18:49:47-!- EdB [n=edb@81.117.88-79.rev.gaoland.net] has joined #wesnoth-dev 20090814 18:50:12< Crab_> deekay: so, recruit_result_ptr recruit_result = ai_ptr_->check_recruit_action(recruit_command->type(), recruit_command->loc()) is a good way to go. 20090814 18:50:17< deekay> Crab_: yes, ai_.check_recruit_action(..) 20090814 18:50:37-!- Elvish_Pillage2 [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has joined #wesnoth-dev 20090814 18:50:46< Crab_> (yes, ai_ is better to use) 20090814 18:51:12< Crab_> execute variant is called as `res = execute_variant(var, *ai_ptr_, false);` 20090814 18:52:07< deekay> Crab_: Something else bsides it? 20090814 18:52:38< Crab_> deekay: explain more :) 20090814 18:53:55< deekay> Crab_: Seems that if I check_recruit_action, see that is is invalid and instead of executing raise err msg, then later is_gamestate_changed() returns true 20090814 18:54:12< Crab_> deekay: how-to-reproduce :) 20090814 18:54:16< Crab_> ? 20090814 18:55:18< deekay> ^ 20090814 18:55:24< deekay> Do above 20090814 18:56:35< deekay> Crab_: Seems that bool is_gamestate_changed is initially initialized with true 20090814 18:56:52< Crab_> deekay: please add initialization then 20090814 18:57:24< deekay> Will do 20090814 19:00:29< deekay> Crab_: Yes, that fixed issue 20090814 19:02:17-!- Crab_ [n=Crab_@wesnoth/developer/crab] has quit ["Leaving."] 20090814 19:02:40-!- Crab_ [n=Crab_@wesnoth/developer/crab] has joined #wesnoth-dev 20090814 19:02:52< Crab_> deekay: ok 20090814 19:03:15-!- noy [n=noy@wesnoth/developer/noy] has joined #wesnoth-dev 20090814 19:04:46< CIA-62> dragonking * r37746 /trunk/src/ai/actions.cpp: Initialize is_gamestate_changes of action_result with false 20090814 19:05:38< CIA-62> dragonking * r37747 /trunk/src/ai/formula/ai.cpp: Silence error flood when safe_call is used with recruit formula function 20090814 19:06:41-!- Elvish_Pillager [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has quit [Read error: 110 (Connection timed out)] 20090814 19:07:29< CIA-62> dragonking * r37748 /trunk/data/ai/ (4 files in 3 dirs): Formula AI update 20090814 19:07:41< deekay> Crab_: I messed quite a bit with it, I wonder what result will test games give 20090814 19:07:53< deekay> Dunno if it will be for the better or not ;) 20090814 19:09:15< Crab_> deekay: ok, compiling r37748-m on test server 20090814 19:09:34< deekay> Crab_: Notice that number of combinations increased, it was default Elf vs defaul Drake earlier, and then switched fractions, now it is fai elf vs default drake, fai drake vs default elf, and then switched ais 20090814 19:09:42< Crab_> deekay: yes 20090814 19:10:41< deekay> Crab_: How long it takes for a test to run? 20090814 19:11:33< Crab_> deekay: depends. around ~20-30 seconds 20090814 19:11:48< deekay> Short :) --- Log opened Fri Aug 14 19:27:41 2009 20090814 19:27:53-!- lobby [n=wesnoth@wesnoth/bot/lobby] has joined #wesnoth-dev 20090814 19:27:53-!- Topic for #wesnoth-dev: 1.7.3 planned for Sunday | 71 bugs, 239 feature requests, 12 patches | logs: http://irclogs.wesnoth.org/ | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20090814 19:27:53-!- Topic set by wesbot [] [Fri Aug 14 18:09:14 2009] 20090814 19:27:53[Users #wesnoth-dev] 20090814 19:27:53[ [Relic] ] [ Espreon ] [ Rhonda ] 20090814 19:27:53[ ABCD ] [ esr ] [ Sapient ] 20090814 19:27:53[ AI0867 ] [ ettin ] [ Shadow_Master ] 20090814 19:27:53[ Alesis-Novik_ ] [ fabi ] [ shikadibot ] 20090814 19:27:53[ allefant ] [ freim ] [ silene ] 20090814 19:27:53[ Amu_ ] [ giusef ] [ Sirp ] 20090814 19:27:53[ AnMaster ] [ grzywacz ] [ Smar ] 20090814 19:27:53[ CIA-62 ] [ isaac ] [ Soliton ] 20090814 19:27:53[ corn ] [ Ivanovic ] [ stikonas ] 20090814 19:27:53[ Crab_ ] [ kimrhh ] [ thespaceinvader] 20090814 19:27:53[ crimson_penguin] [ knotwork ] [ Tigge ] 20090814 19:27:53[ deekay ] [ lobby ] [ Turuk ] 20090814 19:27:53[ dfranke ] [ loonybot ] [ wesbot ] 20090814 19:27:53[ Doppp ] [ loonycyborg] [ yann ] 20090814 19:27:53[ EdB ] [ melinath ] [ zookeeper ] 20090814 19:27:53[ Elvish_Pillage2] [ nital ] 20090814 19:27:53[ erl ] [ Noyga ] 20090814 19:27:54-!- Irssi: #wesnoth-dev: Total of 49 nicks [0 ops, 0 halfops, 0 voices, 49 normal] 20090814 19:27:55< deekay> Soliton: ? 20090814 19:27:56-!- Soliton [n=Soliton@wesnoth/developer/soliton] has quit [Nick collision from services.] 20090814 19:27:56-!- Chusslove [n=Chusslov@adsl-ppp-2079.yubc.net] has joined #wesnoth-dev 20090814 19:27:58< Ivanovic> loonycyborg: uhm, if i still know the passwords 20090814 19:28:06-!- Soliton [n=Soliton@wesnoth/developer/soliton] has joined #wesnoth-dev 20090814 19:28:21-!- #wesnoth-dev [freenode-info] channel trolls and no channel staff around to help? please check with freenode support: http://freenode.net/faq.shtml#gettinghelp 20090814 19:28:22< loonycyborg> It seems to be up again. 20090814 19:28:23-!- Channel #wesnoth-dev created Tue Jan 27 06:28:41 2009 20090814 19:28:25 * deekay promises he won't be highlighting anyone again... insta kill 20090814 19:28:30< Ivanovic> ah, nick collision is a good sign 20090814 19:28:33< deekay> ;) 20090814 19:29:00< deekay> Soliton: you play today as well? 20090814 19:29:07< loonycyborg> Probably it's automatically triggered by his bouncer :P 20090814 19:29:18< Ivanovic> jupp 20090814 19:29:32-!- Irssi: Join to #wesnoth-dev was synced in 109 secs 20090814 19:30:27< Crab_> deekay: wesnoth.terraninfo.net, as well 20090814 19:31:00-!- melinath [n=melinath@pool-72-72-200-231.altnpa.east.verizon.net] has quit [Read error: 113 (No route to host)] 20090814 19:32:15-!- Zarel [i=Zarel@warzone2100/developer/Zarel] has joined #wesnoth-dev 20090814 19:32:23< fabi> No one on. 20090814 19:33:06< Ivanovic> deekay: when do you want to start? 20090814 19:33:20< deekay> Ivanovic: When do you want? 20090814 19:33:30-!- Noyga [n=lame-z@wesnoth/developer/noyga] has left #wesnoth-dev ["Quitte"] 20090814 19:33:31< Ivanovic> (that is i just started a rebuild, should be ready "soon" 20090814 19:33:47-!- Crab_ [n=Crab_@wesnoth/developer/crab] has quit [Read error: 104 (Connection reset by peer)] 20090814 19:34:06-!- Crab_ [n=Crab_@wesnoth/developer/crab] has joined #wesnoth-dev 20090814 19:35:53< deekay> I'll generate map in a meantime 20090814 19:36:01< Ivanovic> great 20090814 19:36:07< Crab_> deekay: caution is still 0.15 for you ? 20090814 19:36:11< deekay> Yes :) 20090814 19:36:14< Crab_> ok 20090814 19:36:22-!- Turuk_ [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090814 19:39:46< Ivanovic> okay, am on the mp server now 20090814 19:40:49< deekay> me too 20090814 19:41:16< deekay> Soliton seem to be not available 20090814 19:41:20< deekay> grzywacz: ? :) 20090814 19:41:29< silene> deekay: i have let a ain match run and there are tons of "invalid index" errors 20090814 19:41:36< silene> an ai* 20090814 19:41:51< deekay> silene: hm 20090814 19:42:01< deekay> silene: what kind of game? 20090814 19:42:51< silene> deekay: a pain 9p game; the error is always http://wesnoth.pastebin.com/d7d6d3b38 20090814 19:42:55< silene> plain* 20090814 19:43:12< loonycyborg> It's just me or the wiki is down? :P 20090814 19:43:35-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has quit [Read error: 110 (Connection timed out)] 20090814 19:43:51< Crab_> loonycyborg: "fatal error: Call to a member function selectRow() on a non-object in /srv/www/html/mw/includes/User.php on line 777" 20090814 19:45:07-!- PK6 [n=pk@r74-192-44-206.vctrcmta01.vctatx.tl.dh.suddenlink.net] has joined #wesnoth-dev 20090814 19:45:45< loonycyborg> I was getting 'Too many connections' instead 20090814 19:47:35< deekay> silene: Hm can't reproduce... 20090814 19:48:25< EdB> you mean duplicate 20090814 19:48:28< EdB> :) 20090814 19:49:18-!- melinath [n=melinath@pool-72-72-216-131.altnpa.east.verizon.net] has joined #wesnoth-dev 20090814 19:49:40< deekay> silene: I'll try on my notebook 20090814 19:49:50< deekay> There I have clean svn 20090814 19:56:03< Ivanovic> thespaceinvader: regarding the base frames of the inferno and fire drake: 20090814 19:56:17< Ivanovic> personally i don't see too much difference on first sight beside the coloring 20090814 19:56:23< thespaceinvader> Ivanovic: yeah? I still need aword with jet about them 20090814 19:56:33< thespaceinvader> i thin, i agree, the Inferno still needs... something... 20090814 19:56:48< Ivanovic> and the inferno looks too "noisy" to me 20090814 19:57:08< Ivanovic> (don't forget i am no artist and take my comments with a grain of salt ;) ) 20090814 19:57:31< thespaceinvader> yeah, i've had the same though - they're getting too overdecorated, and it's a bit visually confusing 20090814 19:57:41< thespaceinvader> i need to chat with jet, but he's not online, i'll catch him later 20090814 19:58:03< thespaceinvader> some frills round the jawline like in the level 3 here http://i59.photobucket.com/albums/g302/Neorice/drakes-example.png would be an interesting addition to the higher level 20090814 19:58:16< thespaceinvader> especially if we increased the size of the wings, and bulked him out some more 20090814 20:00:00< thespaceinvader> anyway, catch you in a bit 20090814 20:00:06< Ivanovic> cu 20090814 20:04:57< silene> deekay: i have uploaded a savegame: https://gna.org/bugs/index.php?14130 20090814 20:06:44< deekay> silene: I have idea what it may be about 20090814 20:07:08< deekay> We are going to play now game agaisnt formula AI, so I'll look at it later 20090814 20:09:52< silene> i hope you won't experience it, because the game becomes quite dull once it happens... 20090814 20:12:45-!- Espreon [n=espreon@wesnoth/developer/espreon] has quit ["No Ping reply in 90 seconds."] 20090814 20:13:00-!- Espreon [n=espreon@wesnoth/developer/espreon] has joined #wesnoth-dev 20090814 20:39:43-!- EdB [n=edb@81.117.88-79.rev.gaoland.net] has quit [Remote closed the connection] 20090814 20:55:48-!- melinath [n=melinath@pool-72-72-216-131.altnpa.east.verizon.net] has quit [Read error: 110 (Connection timed out)] 20090814 20:59:12-!- Espreon [n=espreon@wesnoth/developer/espreon] has quit ["WRYYYYYYYYYYYYYYYYYYYY!"] 20090814 21:00:47< Sapient> zookeeper: what is a reasonable value for game_config::max_loop? 20090814 21:01:51< zookeeper> Sapient, uh, no idea. a five-figure number? 20090814 21:02:31< Sapient> lol... probably the maximum number of hexes on a map 20090814 21:05:01< Sapient> not sure we want that many fire_events on the stack, though 20090814 21:05:21< Crab_> Sapient: "for each unit, fire event ..." 20090814 21:05:45< Crab_> or, "for each hex, fire event".. 20090814 21:06:10< Sapient> Crab_: yeah, I think max number of hexes is a reasonable limit 20090814 21:06:33< Sapient> the question is, will that still result in stack overflows 20090814 21:06:51< zookeeper> well, frankly i'm not sure how useful a limit is in the first place. some kind of a limit, fine, but it seems pointless to try to come up with some kind of a sensible minimum for it. 20090814 21:06:55< Sapient> in the case of recursive calls to fire_event (non iterative) 20090814 21:08:48< Sapient> maybe WML should detect tail recursion 20090814 21:09:24< Crab_> Sapient: 'while (1) {fire_event();}' is not nice, too 20090814 21:10:32< Sapient> right, by combining multiple loops / recursions, a malicious coder can multiply his allowed iterations to a very high number 20090814 21:11:21< Sapient> for example, I could write a loop that stores while tags into a variable deeper and deeper, then insert that as a tag 20090814 21:12:28< zookeeper> what might that malicious coder accomplish by that? 20090814 21:12:44< Sapient> lockup everyone 20090814 21:13:13< zookeeper> well he can do that anyway 20090814 21:13:43< Sapient> the original intent I think was to prevent accidentally locking up the game indefinitely with malformed WML 20090814 21:13:46< Crab_> zookeeper: Do not attribute to malice that which can easily be explained by stupidity 20090814 21:14:11< Sapient> right, I think it's not supposed to stop deliberate attempts to circumvent 20090814 21:15:40-!- melinath [n=melinath@pool-72-72-200-231.altnpa.east.verizon.net] has joined #wesnoth-dev 20090814 21:15:43< Sapient> so you may not be able to lockup your game for infinite time, but just long enough to reach the end of human civilization if you try hard enough 20090814 21:17:37< zookeeper> yeah 20090814 21:21:52-!- giusef [n=giusef@unaffiliated/giusef] has quit [Read error: 110 (Connection timed out)] 20090814 21:33:31-!- cib0 [n=cib@p5DD35782.dip.t-dialin.net] has joined #wesnoth-dev 20090814 21:34:29-!- Espreon [n=espreon@wesnoth/developer/espreon] has joined #wesnoth-dev 20090814 21:41:39< Soliton> the drake fighter has a scimitar yet the level ups have a sword. should all be changed to scimitar? 20090814 21:41:49< Soliton> thespaceinvader: ^ 20090814 21:41:53-!- ilor [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090814 21:42:27< thespaceinvader> Soliton: all the drakes are going to get new weapon icons and weapon names at somer point before 1.8, so it doesn't really matter 20090814 21:42:40< thespaceinvader> it'll be a while though 20090814 21:43:00-!- Netsplit clarke.freenode.net <-> irc.freenode.net quits: shikadibot, dfranke, deekay, Doppp 20090814 21:43:04< Soliton> so far all of them have the scimitar as the icon. 20090814 21:44:04-!- Bob_The_Mighty [n=chatzill@cpc3-brig15-0-0-cust460.3-3.cable.virginmedia.com] has joined #wesnoth-dev 20090814 21:44:29< CIA-62> soliton * r37749 /trunk/data/core/units/drakes/Fighter.cfg: revert the Drake Fighter's melee attack type to blade 20090814 21:44:53-!- Netsplit over, joins: shikadibot 20090814 21:45:16-!- silene [n=plouf@wesnoth/developer/silene] has quit ["Leaving."] 20090814 21:45:45-!- Bob_The_Mighty [n=chatzill@cpc3-brig15-0-0-cust460.3-3.cable.virginmedia.com] has quit [Client Quit] 20090814 21:55:14-!- Shadow_Master [n=ignacio@wesnoth/developer/shadowmaster] has quit [Remote closed the connection] 20090814 21:55:29-!- shadowmaster [n=ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-dev 20090814 21:55:55-!- deekay [n=dk@wesnoth/developer/dragonking] has joined #wesnoth-dev 20090814 22:02:33< Ivanovic> sorry, just had a hard freeze on my main box 20090814 22:02:37< Ivanovic> will be back up again soon 20090814 22:03:05-!- Ivanovic_ [n=nils@dtmd-4db2ace4.pool.einsundeins.de] has joined #wesnoth-dev 20090814 22:05:28< Ivanovic> in the game again, currently plaing catch up 20090814 22:07:36-!- Doppp [n=Doppp@c-67-171-96-240.hsd1.pa.comcast.net] has joined #wesnoth-dev 20090814 22:07:36-!- Ivanovic_ [n=nils@wesnoth/developer/ivanovic] has quit [Remote closed the connection] 20090814 22:07:37-!- Ivanovic_ontour [n=nils@wesnoth/developer/ivanovic] has joined #wesnoth-dev 20090814 22:07:52-!- Ivanovic_ontour [n=nils@wesnoth/developer/ivanovic] has quit [Read error: 104 (Connection reset by peer)] 20090814 22:20:34-!- noy [n=Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20090814 22:33:02< CIA-62> shadowmaster * r37750 /trunk/ (9 files in 4 dirs): 20090814 22:33:02< CIA-62> WIP unit-create dialog (debug mode only) using GUI2. It is only used 20090814 22:33:02< CIA-62> with --new-widgets for now. If you open it you'll have to use ESC since 20090814 22:33:02< CIA-62> there are no OK or Cancel buttons yet. 20090814 22:34:14-!- Zarel [i=Zarel@warzone2100/developer/Zarel] has quit [Read error: 110 (Connection timed out)] 20090814 22:35:48-!- cib0 [n=cib@p5DD35782.dip.t-dialin.net] has quit [Remote closed the connection] 20090814 22:42:05-!- allefant [n=allefant@allegro/developer/allefant] has quit [Read error: 145 (Connection timed out)] 20090814 22:50:42-!- allefant [n=allefant@allegro/developer/allefant] has joined #wesnoth-dev 20090814 22:55:14< Ivanovic> deekay: i think the recruitment really improved 20090814 22:55:21-!- shadowmaster_ [n=ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-dev 20090814 22:55:28< Crab_> Dragonking: http://wesnoth.terraninfo.net/index.php?dim1=ai_ident_me&latest_svn_only=yes 20090814 22:55:30< deekay> Ivanovic: It's still fram from what I would like to achieve... 20090814 22:55:36< Ivanovic> the choises were in fact not to bad (though the way it used the ais was not too good) 20090814 22:55:39-!- shadowmaster_ [n=ignacio@wesnoth/developer/shadowmaster] has quit [Client Quit] 20090814 22:55:51< deekay> Ivanovic: There are moments when I get feeling that it fails miserabely 20090814 22:56:56< Crab_> deekay: well, the problem is that sometimes there are different ways to use it's recruits. so, even if it recruit's good, it acts lamely with them.. 20090814 22:57:02< Ivanovic> at recruiting? 20090814 22:57:03< deekay> Yes 20090814 22:57:09< deekay> Yes 20090814 22:57:10< deekay> :) 20090814 22:57:27< deekay> Crab_: What factions etc for these stats? 20090814 22:57:35< deekay> Crab_: Is it posible to get some more details? 20090814 22:57:37< Crab_> deekay: add my_faction to info 20090814 22:57:39< deekay> ok 20090814 22:58:30< Crab_> deekay: e.g. http://wesnoth.terraninfo.net/index.php?dim1=ai_ident_me&dim2=faction_me&dim3=faction_enemy&dim4=my_side&latest_svn_only=yes&filter_svn_release=0 20090814 22:58:50< Crab_> deekay: as you see, 1-2 games per matchup 20090814 22:58:55< Crab_> deekay: still too early to say anything 20090814 22:59:33< deekay> Crab_: I want to just get idea which matchups provide wierd outcome 20090814 22:59:40< Crab_> deekay: the most 'stable' stat is 'avg.time.to.win' 20090814 22:59:51< Crab_> deekay: it seems that in general, your recruitment is worse, so far. 20090814 23:00:15< Crab_> deekay: see older version info.. 20090814 23:00:20< deekay> Yes 20090814 23:00:53< deekay> As I said, it's different to try to make recruitment for human player and different for an AI :) 20090814 23:00:57< Crab_> http://wesnoth.terraninfo.net/index.php?dim1=faction_me&dim2=faction_enemy&dim3=my_side&filter_svn_release=37613 20090814 23:01:11< deekay> So I'm not really worried is it worse for now 20090814 23:01:27< deekay> Just need to tweak things and test more 20090814 23:01:31< deekay> Till it's better 20090814 23:01:31< Crab_> deekay: I'm sure that we can tweak it enough 20090814 23:01:38< deekay> Yup 20090814 23:01:40< deekay> Me too 20090814 23:02:20-!- noy [n=Noy@wesnoth/developer/noy] has quit [] 20090814 23:02:49< Soliton> i'd not try too hard to make the recruitment perfect as long as the AI is really bad at using them effectively. it's just not going to tell much in terms of wins. 20090814 23:02:59< Crab_> deekay: rebels vs undead, imo, is the most interesting... 20090814 23:03:18< deekay> Soliton: Yes 20090814 23:03:28< deekay> Crab_: Yes? 20090814 23:03:29< Soliton> just check a bit in actual games and if that looks ok concentrate on making the AI use the units well. 20090814 23:04:00< deekay> Crab_: I see, 2/3 wins for rebels? 20090814 23:04:46< Crab_> deekay: no 20090814 23:04:52< deekay> bah 20090814 23:04:58 * deekay learns to read again 20090814 23:05:40< Crab_> Rebels (side 1) vs Undead (side 2): 31.4 % win Rebels (side 2) vs Undead (side 1): 47.6 % win 20090814 23:06:39< deekay> Crab_: With default ai vs default AI ? 20090814 23:06:45< Crab_> yes 20090814 23:06:51< Crab_> that is 'previous week' of testing 20090814 23:06:55< deekay> ok 20090814 23:07:15< Crab_> deekay: you can add 'ai_ident' to groups to see more 20090814 23:07:35< Crab_> it was default vs testing_ai_default 20090814 23:08:24< deekay> ok 20090814 23:08:49-!- noy [n=Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20090814 23:10:32< deekay> Crab_: Well, it may be also because of my today's tweaks 20090814 23:10:58< Crab_> deekay: what 'may be also because of my today's tweaks' ? 20090814 23:11:02< deekay> I tried to make it invest more in the "raw power" units, don't invest into expensive special ones 20090814 23:11:32< deekay> Crab_: That we may get some wierd results in some matchups 20090814 23:12:21< deekay> I noticed that it likes getting for example goblins now 20090814 23:12:40< deekay> But due to powerful strike wose is also choosen 20090814 23:12:52< Crab_> deekay: yes, yesterday's dwarf force was nicer :) 20090814 23:13:11< deekay> Well, maybe I made mistake with that :) 20090814 23:13:43< deekay> Maybe we should disable formula AI for 1.7.3, use time before 1.7.4 to test it more and ship it in 1.7.4? 20090814 23:14:12< Crab_> deekay: as you desire. I prefer keeping it in data/ai/dev 20090814 23:14:19< Crab_> deekay: so, it'll be usable with -d 20090814 23:14:26< deekay> Crab_: Sure 20090814 23:14:43< deekay> Crab_: Well, just afterr tagging 1.7.3 I would like to have it back in ai/ais/ :) 20090814 23:14:54< Crab_> deekay: why ? 20090814 23:15:16< Crab_> deekay: Isn't it hard to launch with -d ? 20090814 23:15:30< deekay> Good luck charm to make it stay there ;p 20090814 23:16:03< deekay> Crab_: Yes, simple, you are right 20090814 23:16:04< Crab_> deekay: well, should make it's way to data/ai/utils/default_config.cfg :)) 20090814 23:16:12< Crab_> deekay: that's the end goal :) 20090814 23:16:20< deekay> Yes 20090814 23:16:22< deekay> :) 20090814 23:16:51-!- Zarel [i=Zarel@warzone2100/developer/Zarel] has joined #wesnoth-dev 20090814 23:17:10< Crab_> deekay: will watch the replay now, and see some epic fails of the ai targeting... 20090814 23:17:21< deekay> Good luck :) 20090814 23:17:29< Crab_> btw, can someone finally fix that naming issue :) ? 20090814 23:17:36< deekay> I'll hack some (simple) code, then just rest 20090814 23:18:28< Crab_> deekay: btw, do the ai's coordinate their actions ? 20090814 23:18:52< deekay> Crab_: recruting-wise? 20090814 23:18:55< deekay> Or how? 20090814 23:19:01< Crab_> deekay: whom to kill 20090814 23:19:18< Crab_> deekay: can you open the replay, till the start of turn 2 ? 20090814 23:20:14< deekay> hm 20090814 23:20:27< deekay> Crab_: My replay is corrupted.. 20090814 23:20:40< Crab_> deekay: post it :) 20090814 23:21:00< deekay> Crab_: Soon 20090814 23:21:10< deekay> First, what you wanted to show me? 20090814 23:21:17< deekay> I'm after 1st turn 20090814 23:21:38< Crab_> deekay: ok, so the ai as outputted labels about 'places where it shall fight'. yes ? 20090814 23:21:43< Crab_> s/as/has 20090814 23:21:52< deekay> Crab_: Yes, and white failed 20090814 23:22:00< deekay> Crab_: It is calculated in a wrong way 20090814 23:22:04< Crab_> deekay: white failed, yes. 20090814 23:22:18< Crab_> also note that the 'snow' terrain is useless 20090814 23:22:23< deekay> Yes 20090814 23:22:26< Crab_> no combat was there, and for a good reason 20090814 23:22:46< deekay> Exactly 20090814 23:23:02< Crab_> also, AI has not considered global-scale power projection when selecting targets 20090814 23:23:12< Crab_> for example, red ai has selected Ivanovic as a target 20090814 23:23:50< Crab_> but, gold-wise, Ivanovic is safe - he's within reach of grywacz and you 20090814 23:24:10< Ivanovic> "safe"? 20090814 23:24:31< Ivanovic> not recruiting anything for many turns because there is no income is "safe" gold wise? 20090814 23:24:53< Crab_> Ivanovic: yes. he had 275 gp to throw around, and you+grywacz+DK are 300 gold. so, he had not a chance to overpower you 20090814 23:25:02< deekay> Crab_: AI just saw that Ivanovic can reach this place as fast as he and market is as batlefield 20090814 23:25:04< Ivanovic> ah, okay 20090814 23:25:25< deekay> Crab_: It's not only "what I cna attack" but also "what can come and run through me" 20090814 23:25:51< Crab_> so, the red one diverted 'gold' north, and, in doing so, failed to divert something to attack me 20090814 23:26:10< deekay> No clue what it did 20090814 23:26:32< Crab_> deekay, Ivanovic: let's think 'as ai'. if we have played the ai (with that amount of gold), what should we have done ? 20090814 23:26:47< Ivanovic> moved onto crab to get rid of him 20090814 23:26:58< Crab_> Ivanovic: exactly. 20090814 23:26:59< Ivanovic> there are enough resources available to just do so 20090814 23:26:59< deekay> Crab_: Note, this "setting for targr" doe not affect default AI in any way 20090814 23:27:09< deekay> It's only info for my recruting for now 20090814 23:27:30< deekay> My formula just tried to predict possible fights and got units 20090814 23:27:41< Crab_> deekay: yes. but we can work on targeting phase to make those fights happen :) 20090814 23:27:54< deekay> Yes, that would be nice :) 20090814 23:28:04< Crab_> also, the ai should have delayed the attack to the north until white army was near 20090814 23:28:41< Ivanovic> some better ToD awareness would be great, too 20090814 23:28:42< deekay> Ideally AI should smash you 20090814 23:28:47< Ivanovic> (like we already said) 20090814 23:28:51< deekay> Since it had means to do so :) 20090814 23:29:26< Crab_> deekay: not so easy (I've recruited second, and first turns are daylight) 20090814 23:29:38< Crab_> deekay: but still, it was probably the best course of action 20090814 23:30:18< Crab_> deekay: so, maybe we should cook up a targeting stage to consider 'player(teams) locations/ village locations / starting gold' and select 'opening strategy' ? 20090814 23:30:26< deekay> White should get one castle and move ot red's castle :) 20090814 23:30:49< Crab_> deekay: good thought 20090814 23:30:50< Crab_> deekay: yes, that's part of 'opening strategy' too 20090814 23:31:01< Crab_> deekay: for it was 'safe' to do so 20090814 23:31:06< deekay> Yes 20090814 23:31:36< Crab_> so, if we want to 'create a good ai for playing N-vs-M on random maps', we can do that 'opening strategy' phase. 20090814 23:31:45< Crab_> it will be fun to watch, too 20090814 23:32:00< Crab_> since if anyone starts in poor position, the AIs can mercilessly crush him :) 20090814 23:32:24< Crab_> imagine the 'best strategy' if instead of orc player, a human was in the right-bottom corner 20090814 23:32:53< deekay> Napoleon's strategy 20090814 23:32:59< Crab_> deekay: yes 20090814 23:33:20< Crab_> deekay: hold our attacks until that poor human is dead... 20090814 23:33:25< deekay> Yup 20090814 23:33:42< Crab_> also, such planning can be 'time-of-day - aware' 20090814 23:34:18< deekay> Exactly 20090814 23:34:23< noy> Hmm, is the AI calibrated in a way that it has faction specific strategies? 20090814 23:34:38< Crab_> noy: a bit. (recruitment_pattern) 20090814 23:34:58< Crab_> noy: faction-specific settings can be enabled via, for example, multiplayer faction config 20090814 23:35:12< noy> Because how drakes use terrain is wholly different than lets say the dwarves or the elves 20090814 23:36:28< CIA-62> ivanovic * r37751 /trunk/src/CMakeLists.txt: fix typo in rev37750 by shadowmaster (wrong path used in cmake recipe) 20090814 23:38:33< shadowmaster> rB[Bthanks 20090814 23:39:28< Crab_> deekay: all this fish-on-land stems from white player's wrong choice of 'critical locations' on turn 1 ? 20090814 23:40:02< deekay> For white side, yes 20090814 23:40:13< deekay> Crab_: But recruitment is imperfect yet 20090814 23:40:21< Crab_> deekay: also, note that he could have sent them against me - there was a river there... 20090814 23:40:29< deekay> Yes 20090814 23:40:33-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has joined #wesnoth-dev 20090814 23:41:00< Crab_> deekay: also note the epic fail of red side on turn 7 20090814 23:41:05< Crab_> deekay: with attack selection 20090814 23:42:12< deekay> Crab_: Sec, I closed wesnoth 20090814 23:42:18< deekay> I'll upload save soon 20090814 23:43:10< Crab_> deekay: and also note that due to close proximity to keep, that results, in part, from poor recruit selection. 20090814 23:43:45< Crab_> if he had, say, three dark adepts, he might have achieved something better 20090814 23:44:14< deekay> The biggest concern is AI suiciding alone units by stupid attacking 20090814 23:44:27< Crab_> deekay: it suicided three ;) 20090814 23:44:35< deekay> :) 20090814 23:45:05< deekay> We should play like that more often. ;) 20090814 23:45:16< shadowmaster> Ivanovic: i'll fix ththe automake file too 20090814 23:45:27< shadowmaster> i'm being disconnected every 15 seconds so it's rather difficullt atm 20090814 23:45:49< Crab_> deekay: can you send me an autosave from turn 7 ? 20090814 23:46:22< deekay> Crab_: http://student.agh.edu.pl/~dks/debug/ 20090814 23:46:28< deekay> Crab_: Starting With Mapa... 20090814 23:46:47< Crab_> ok 20090814 23:48:25< Ivanovic> okay 20090814 23:48:53< Ivanovic> deekay: yes, we should playtest like this more often 20090814 23:49:05-!- Espreon [n=espreon@wesnoth/developer/espreon] has quit ["WRYYYYYYYYYYYYYYYYYYYY!"] 20090814 23:49:24< PK6> he forgot the bulldozer ^ 20090814 23:49:46< Crab_> deekay: yes, the ai repeats that glorious charge 'three skeletons vs heavy infantry' :) 20090814 23:49:58< deekay> Yea 20090814 23:50:10< deekay> Almost like a good idea 20090814 23:50:41< deekay> Crab_: I think AI should just have epic_fail++; every such move, and surrender once it is >10 :) 20090814 23:50:56< Crab_> deekay: no :) it should win nevertheless :) 20090814 23:52:10< deekay> :) 20090814 23:54:30< CIA-62> shadowmaster * r37752 /trunk/src/Makefile.am: Fix unit_create.cpp path in the automake file. 20090814 23:54:49-!- ilor [n=user@wesnoth/developer/ilor] has quit [Read error: 113 (No route to host)] 20090814 23:55:17< Crab_> deekay: ok, found out the reasons behind that attack 20090814 23:55:24< deekay> yes? 20090814 23:55:40-!- shadowmaster [n=ignacio@wesnoth/developer/shadowmaster] has quit [Remote closed the connection] 20090814 23:55:43< Crab_> deekay: it has considered it's power 'overwhelming', due to large amount of troops (including leader) who are in position to attack this location 20090814 23:55:48-!- shadowmaster [n=ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-dev 20090814 23:55:52-!- shadowmaster [n=ignacio@wesnoth/developer/shadowmaster] has quit [Remote closed the connection] 20090814 23:55:57< deekay> haha 20090814 23:56:04< Crab_> deekay: when calculating said support, it takes only 'damage given' in the account 20090814 23:56:12< deekay> Yea 20090814 23:56:19-!- shadowmaster [n=ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-dev 20090814 23:56:20< deekay> It was.. 'overwhelming' 20090814 23:56:26< Crab_> deekay: yes :) 20090814 23:57:02< deekay> Crab_: Did you see checksum problem from replay? 20090814 23:57:09< deekay> s/from/in/ 20090814 23:57:10< Crab_> deekay: not yet 20090814 23:57:18< Crab_> since, when calculating support, it hadn't taken damage taken in the account... 20090814 23:57:32< deekay> It got owned 20090814 23:57:58-!- PK6 [n=pk@r74-192-44-206.vctrcmta01.vctatx.tl.dh.suddenlink.net] has quit ["Java user signed off"] 20090814 23:58:16< Crab_> deekay: yes 20090814 23:58:34< Crab_> deekay: or, more exactly, it got unlucky first, and got owned next turn 20090814 23:59:22-!- ShikadiLord [n=1002@190.22.88.158] has joined #wesnoth-dev 20090814 23:59:46-!- ShikadiLord is now known as Guest440 --- Log closed Sat Aug 15 00:00:14 2009