Bug reports
by ubeefx
Moderators: ubeefx, beholder, melvin, ShawnieBoy, Lodici, CCGHQ Admins
Re: Bug reports
by muaddib » 03 Apr 2012, 02:26
Creature 2/2 will be destroyed by ability Brigid, Hero of Kinsbaile and creature 5/5 will be destoroyed by Kessig Recluse.
-
muaddib - Tester
- Posts: 118
- Joined: 03 Mar 2011, 08:37
- Location: Russia
- Has thanked: 0 time
- Been thanked: 5 times
Re: Bug reports
by muaddib » 03 Apr 2012, 02:27
Insted of attack creature 3/5 with first strike computer attack creature 1/1 which will be destroyed.
-
muaddib - Tester
- Posts: 118
- Joined: 03 Mar 2011, 08:37
- Location: Russia
- Has thanked: 0 time
- Been thanked: 5 times
-
muaddib - Tester
- Posts: 118
- Joined: 03 Mar 2011, 08:37
- Location: Russia
- Has thanked: 0 time
- Been thanked: 5 times
Re: Bug reports
by muaddib » 03 Apr 2012, 02:37
I have noticed, the more creatures I have to block than computer attack more aggressive. I may wait and not attack while computer put creatures in attack and I destroyed him by my blockers, if of course computer does not put in game big creature.
It seems to me neccessary do this test.
It seems this version do less bugs than previos.
It seems to me neccessary do this test.
It seems this version do less bugs than previos.
-
muaddib - Tester
- Posts: 118
- Joined: 03 Mar 2011, 08:37
- Location: Russia
- Has thanked: 0 time
- Been thanked: 5 times
Re: Bug reports
by melvin » 03 Apr 2012, 05:17
Thanks for taking the time to post the screenshots. Now to get these as something we can load into the game...
To solve this problem, we first compute the rough number of blocking choices. If the number is not too large, we compute all possible blocking as before, but if the number of choices is too large, we randomly sample a fixed number of blocking choices. Not the best way to do it, but it allows the AI to complete in a reasonable time. I'l love to get suggestions on how we can do this better.
Hmm, this is actually because of an optimization in the blocking computation. Previously, we would try to compute all possible blocking choices and it would cause the AI to take a long time if there are too many creatures. To most users, it looks as if the program is stuck, but it is just the AI evaluating all the blocking choices, which can take a long time.muaddib wrote:I have noticed, the more creatures I have to block than computer attack more aggressive. I may wait and not attack while computer put creatures in attack and I destroyed him by my blockers, if of course computer does not put in game big creature.
To solve this problem, we first compute the rough number of blocking choices. If the number is not too large, we compute all possible blocking as before, but if the number of choices is too large, we randomly sample a fixed number of blocking choices. Not the best way to do it, but it allows the AI to complete in a reasonable time. I'l love to get suggestions on how we can do this better.
Do you mean version 1.24 AI seems less buggy compare to previous versions?muaddib wrote:It seems to me neccessary do this test.
It seems this version do less bugs than previos.
-
melvin - AI Programmer
- Posts: 1062
- Joined: 21 Mar 2010, 12:26
- Location: Singapore
- Has thanked: 36 times
- Been thanked: 459 times
Re: Bug reports
by muaddib » 03 Apr 2012, 17:09
I don't understand, Melvin. Do you something do with blocking computation or not?
You may do optimization blocking computation off with magarena settings.
Will you do it?
I prefer to magarena strong play and I may wait.
Yes, version 1.24 AI seems less buggy compare to previous version.
AI do not sacrifice attackers so directly.
You may do optimization blocking computation off with magarena settings.
Will you do it?
I prefer to magarena strong play and I may wait.
Yes, version 1.24 AI seems less buggy compare to previous version.
AI do not sacrifice attackers so directly.
-
muaddib - Tester
- Posts: 118
- Joined: 03 Mar 2011, 08:37
- Location: Russia
- Has thanked: 0 time
- Been thanked: 5 times
Re: Bug reports
by melvin » 04 Apr 2012, 02:05
Yes, the blocking optimization was introduced in 1.19. The threshold for switching to the sampling based blocking generator was increased in 1.20 from 1e4 to 1e5.muaddib wrote:I don't understand, Melvin. Do you something do with blocking computation or not?
You may do optimization blocking computation off with magarena settings.
Will you do it?
I prefer to magarena strong play and I may wait.
Creating an option for this is a good idea, I didn't think of doing it this way. But the wait can be very long (tens of minutes to hours) with the optimization turned off. Or we could make the threshold adjustable via the config file. Currently it is set to 1e5, so if there are more than 1e5 possible blocks, use the fast sampling method, if there are <= 1e5 possible blocks, use the slow but exhaustive method.
Hmm, that's interesting, as far as I know we didn't change the combat AI in 1.24.muaddib wrote:Yes, version 1.24 AI seems less buggy compare to previous version.
AI do not sacrifice attackers so directly.
-
melvin - AI Programmer
- Posts: 1062
- Joined: 21 Mar 2010, 12:26
- Location: Singapore
- Has thanked: 36 times
- Been thanked: 459 times
Re: Bug reports
by Malban » 04 Apr 2012, 12:09
Blocking...
I don´t know if you read other threads in this forums - I tend not to
- but the new Blocking computations I use in JPortal I find quite successfull.
See:
http://www.slightlymagic.net/forum/viewtopic.php?f=80&t=3969&start=30#p80761
Since English is not my native language and the subject itself is rather involved - I don´t know if you (or anybody else) can discern my ramblings.
If you are more into code, you might look at the implementation
in the class:
- CombatSimNew.java
starting point there would be the method:
Only thing I added was different computations if health is low.
Meaning there are basically two strategies:
a) BLOCK_PLAYER_LEAST_CREATURE_DEAD
I do a block where the main goal is not to lose creatures
or
a) BLOCK_PLAYER_LEAST_DAMAGE
I do a block where the main goal is that the player does not recieve damage (which might kill more blockers)
The strategie I use depends on the health of the player and the maximum damage attacking creatures may make.
Regards
Malban
I don´t know if you read other threads in this forums - I tend not to

See:
http://www.slightlymagic.net/forum/viewtopic.php?f=80&t=3969&start=30#p80761
Since English is not my native language and the subject itself is rather involved - I don´t know if you (or anybody else) can discern my ramblings.
If you are more into code, you might look at the implementation
in the class:
- CombatSimNew.java
starting point there would be the method:
- Code: Select all
public static CombatFormation computeBestBlock(int blockerHealth, Weighting weighting, CombatSimNew csn, int prevent)
Only thing I added was different computations if health is low.
Meaning there are basically two strategies:
a) BLOCK_PLAYER_LEAST_CREATURE_DEAD
I do a block where the main goal is not to lose creatures
or
a) BLOCK_PLAYER_LEAST_DAMAGE
I do a block where the main goal is that the player does not recieve damage (which might kill more blockers)
The strategie I use depends on the health of the player and the maximum damage attacking creatures may make.
Regards
Malban
Homepage of JPortal: http://jportalgame.de/
Re: Bug reports
by melvin » 04 Apr 2012, 15:14
Thanks for the references, Malban. Having both the description and code is very helpful, I'm definitely going to have a closer look at how you're computing the different blocking choices. Love the posts you've written on the development of JPortal, especially your ideas on how to create a good AI.
-
melvin - AI Programmer
- Posts: 1062
- Joined: 21 Mar 2010, 12:26
- Location: Singapore
- Has thanked: 36 times
- Been thanked: 459 times
Re: Bug reports
by muaddib » 11 Apr 2012, 04:53
Maybe this http://code.google.com/p/magarena/sourc ... ae5034c7cbHmm, that's interesting, as far as I know we didn't change the combat AI in 1.24.
-
muaddib - Tester
- Posts: 118
- Joined: 03 Mar 2011, 08:37
- Location: Russia
- Has thanked: 0 time
- Been thanked: 5 times
Re: Bug reports
by melvin » 11 Apr 2012, 14:42
That change probably created the exalted bug, can't really see how it affect the AI. The change made the computation of the number of attackers/blockers dynamic. Previously it was set during the declare attackers/declare blockers phase now it is computed on the spot.
-
melvin - AI Programmer
- Posts: 1062
- Joined: 21 Mar 2010, 12:26
- Location: Singapore
- Has thanked: 36 times
- Been thanked: 459 times
Re: Bug reports
by melvin » 21 Apr 2012, 12:55
Thanks for reporting this, we are tracking this as issue 208, https://code.google.com/p/magarena/issues/detail?id=208muaddib wrote:morbid doesn't work in Tragic Slip.
-
melvin - AI Programmer
- Posts: 1062
- Joined: 21 Mar 2010, 12:26
- Location: Singapore
- Has thanked: 36 times
- Been thanked: 459 times
Who is online
Users browsing this forum: No registered users and 10 guests