Disembiggen wrote: Of all the simulations you've run, only Prehistoric Arms, Chemical Reaction, and Fireball have a lower average tiles destroyed in cascades then Mjolnir's Might. And no one thinks of those as being cascade starters, so it's not like Mjolnir's Might is in rarefied air or anything. Thinking about it, though, a cascade has to have a minimum of 3 tiles destroyed. However, there really doesn't have to be an upper limit to how many tiles are destroyed. Something like Mjolnir's Might is rarely going to cause a 10+ tile cascade, but it will happen enough when you run 200,000 simulations. I think the averages work out all right for all simulations because for an ability with a low probability for cascade, the 0's will drag down the average to where it should be. However, when you take the average of only the cascades, it is probably being pulled too high by a group of outliers. The most common result for Mjolnir's Might is probably something between 4 and 5. But with a set minimum of 3 and no real maximum, large cascades can skew the average. It's possible that for low probability abilities, or maybe all abilities in general, instead of using a mean average for the the tiles destroyed when a cascade occurs, the median would be a better indicator of how many tiles are typically being destroyed.
Budget Player Cadet wrote: Just out of curiosity, does the simulation account for any particular color biases when considering the moves used? For example, if I gathered 10 green AP for Mohawk's green, the board will almost certainly have notably less green than other colors. Either way, this is amazing. Really, really cool stuff, and thanks for making this. You rock!
daibar wrote: Disembiggen wrote: Of all the simulations you've run, only Prehistoric Arms, Chemical Reaction, and Fireball have a lower average tiles destroyed in cascades then Mjolnir's Might. And no one thinks of those as being cascade starters, so it's not like Mjolnir's Might is in rarefied air or anything. Thinking about it, though, a cascade has to have a minimum of 3 tiles destroyed. However, there really doesn't have to be an upper limit to how many tiles are destroyed. Something like Mjolnir's Might is rarely going to cause a 10+ tile cascade, but it will happen enough when you run 200,000 simulations. I think the averages work out all right for all simulations because for an ability with a low probability for cascade, the 0's will drag down the average to where it should be. However, when you take the average of only the cascades, it is probably being pulled too high by a group of outliers. The most common result for Mjolnir's Might is probably something between 4 and 5. But with a set minimum of 3 and no real maximum, large cascades can skew the average. It's possible that for low probability abilities, or maybe all abilities in general, instead of using a mean average for the the tiles destroyed when a cascade occurs, the median would be a better indicator of how many tiles are typically being destroyed. I don't know how you would get a result between 4 or 5. What exactly did you mean here? The median would probably be 3, 5 or 6, not super useful. Further, it'd take a lot more programming to find the median as then you'd have to keep every result, not just sum up the totals. If we look at devil dino level 4: Probability of a cascade occurring: 0.278366 Average tiles destroyed: 1.598566 Average tiles destroyed when a match occurs: 5.74267690738 Let's take 5 tiles in a row, where we know the middle 3 match. What's the odds that the match will be larger than 3? 1/7 chance that either side will match, which means the entire row is destroyed. 13/49 overall (assuming center placement). This means an extra 5 tiles. 5 * 13/49 =~ 1.32 Now the odds of also forming a T or + are about 1/16, adds about 1/8 on average This already takes us to over 4.4 minimum for the average when ANYTHING happens, NOT COUNTING cascades! Honestly, the results look reasonable.
KevinMark wrote: Recently it felt like Loki's Illusions were better at making matches at lower covers to me. Did anyone feel this way? My Loki has one purple cover and I feel it's more successful than the ones I face in LR or PvEs which have more purple covers. I use it with a board with no decent benefit to me and it often makes a 5-match, 4-match and/or some cascading. With AI though while it's changing location of tiles, it sets up a match and then breaks it before changing tiles ends making the board worse. Probably not worse than original though. It is possible it's just these instances happened to me and I took note of them cos of cognitive bias (it was called like that I think). Is it possible to test the difference between 4 and 5 covers of 2* Daken?
Pwuz_ wrote: I apologize if this has been addressed already: Does the simulation account for the Critical Tiles that any Match 5 generates? If not some of these abilities may be skewed a bit toward the low side since those Critical Tiles match with any 2 tiles resulting in much bigger cascades.
NorthernPolarity wrote: Pwuz_ wrote: I apologize if this has been addressed already: Does the simulation account for the Critical Tiles that any Match 5 generates? If not some of these abilities may be skewed a bit toward the low side since those Critical Tiles match with any 2 tiles resulting in much bigger cascades. It does not: I'm planning on adding crit tiles and when a match-5 exists on the board after the ability is cast (since that's essentially another free cascade), but the technology isn't there yet.
stephen43084 wrote: This is awesome. I only see one problem with it, which is not bad considering I'm clueless about this sort of thingie. Depending on the characters in the game, the colors of the board will not be random. For example, for thor if trying to proc red, you will collect red, so there will typically be less red on the board and normal amount of yellow (assuming the AI is not collecting yellow). However, if you are trying to collect yellow and "happen" to end up with 8 red before 12 yellow; the board will will have much less yellow than normal. Therefore, the probability of red making a yellow much is much less. Same thing if trying to collect green and happen to get enough yellow. The board will have much less green than a random or normal board.
this.Where2Crit =function(arr){ if (arr.length<5) return false; //arr = array of positions, position p = 8*y + x; arr.sort(); for(i=0;i<arr.length;i++){ var p=arr[i]; var N=this.Neighbours(p,arr); //returns array of neighboors extracted positions if (N.length>2) return p; // if T or + shape found if (N.length==2 && N.avg()%1) return p; // if L shape found } return arr[Math.floor(arr.length/2)]; //if | shape, find middle position. }
L=L.difference(B).shuffle(); // List of non-teamup tiles, shuffled var len=L.length; var n=14; // Set number of tiles to swap if (n>L.length) n=L.length; // if there are less non-teamup tiles, limit swaps to available tiles number for(j=0;j<n;j++){ var p1=L[j]; // Select a random "source" tile (array was previously shuffled!) var p2=L[randomInt(len,[j])]; // Select another tile, except "source" tile, and swap those GG.Swap(p1,p2); }
turul wrote: What is the correct swap algorithm for Loki? I used:L=L.difference(B).shuffle(); // List of non-teamup tiles, shuffled var len=L.length; var n=14; // Set number of tiles to swap if (n>L.length) n=L.length; // if there are less non-teamup tiles, limit swaps to available tiles number for(j=0;j<n;j++){ var p1=L[j]; // Select a random "source" tile (array was previously shuffled!) var p2=L[randomInt(len,[j])]; // Select another tile, except "source" tile, and swap those GG.Swap(p1,p2); } Chance of cascade (cover 1-5): 66 - 71 - 73 - 74.5 - 75.5 %edit: done some bugfixes, updated however, modifying strictness of tile reselection can affect this ratio about 2%. (less strict => bigger gaps ) (excluding complete disable of tile reselection)