New dice server
@captainsquareyez honestly, the action you are outlining is a bit hard to follow seems like you are picking certain battles that had bad outcomes. to truly demonstrate a problem i think you'd have to give enough complete rounds of results (for both sides) to show that you're consistently getting results that different from what would be expected.
expected hits gives you the number of hits expected so in the first example the 2 armour give 1 (1/2 each), the fighter and 3 of your infantry give you the second 1 for a total of 2, the last remaining infantry gives you the .17 remainder (1/6).
@captainsquareyez also, would be helpful if you can share your dice stats screen that gives you the total results of all dice rolls for any game.
@captainsquareyez reality is streaky oftentimes. a single bad battle can in some cases decide a game.
TheDog last edited by TheDog
If the map/scenario supports Low Luck try that in the Map Options.
@thedog tried it, thats even worse again, seems to favor defender even more
@ubernaut yeah, again, fair enough, a game every now and then, yeah sure. But just about every game? No, i dont think so. Out of a dozen games, i have lost nearly all of them due to your so called "bad battles". Again, look at the posts. Guess you didnt even look though,right? Not unless you sped read thru pages worth of rolls and games.
But i get it, you are set in your ways that is absolutely nothing wrong with the dice. You ask for evidence and quickly dismiss it. Keep your broken dice. Im done! A good developer listens to their community. You tell us to show evidence, and you quickly dismiss it.
@captainsquareyez Pointing out flaws in statistics requires large data sets. That means 100s and 1000s of examples. 20 examples can just be variation.
One should also keep in mind it's more important to look at deviation from the expected rolls than the exact roll. For example, you might expect 6 hits, but only get 4, the odds of a -2 or worse could be quite good. If you compute the odds of exactly 4 hits, it's a misleading probability. That's one key, the odds that are more interesting is that many hits or fewer, not just that many hits.
Another thing to keep in mind is that conditional probably is not intuitive. The probability tree could depend significantly on initial outcomes that have higher probability than the total. AA is a good example, there might be 100 possible outcomes in a battle with 90 going for the attacker and 10 going for the defender. Now, if the AA hits, then the subtree that remains has perhaps 12 branches, with 9 of those going for the defender and 3 for the attacker. So while the initial odds were 90% for the attacker, if the AA hits then suddenly the battle is a 25%, and on the flip side if the AA misses then it's probably a 98% battle. So that 90% is misleading, it's actually a 1/6 chance that you'll get a battle where the defender is overwhelming likely to win, that is twice as likely as a 10% chance would have you think. So in part, the problem is remaining in battles where the initial rolls are against you, it flips the odds and then remaining in the battle is an expected loss.
With all that said, the source code is open, MARTI uses the mersenne-twister algorithm to generate random numbers.
@lafayette The one thing i think you are missing, is i keep mentioning how it keeps happening. zero hits or 1 hit back and forth, back and forth, back and forth. But, dont listen, dont care anymore. A game is not fun when you keep losing due to bad throws constantly. But, theres absolutley nothing wrong with these dodgy dice!
Edit, just to be clear i have managed to win a couple of games, but they seem to be rare due to the dice keep giving me cruddy outcomes.
@captainsquareyez That's the game, it depends heavily on dice. I can give you examples where in real world dice I got unbelievably bad odds and had runs of games where I "lost" due to that.
Are the dice actually "dodgy", seemingly not as much as you describe, but perhaps are to some extent, it's unclear. One also cannot rule out confirmation bias from the examples given. Notably, how about all the other battles where you got really decent dice? Then when it counts, the battles you really want to win, instead you had the more variable dice rolls there.
Overall, constructive criticism and research is welcome. Bitching about a run of 3 bad games is not helpful. GL, sorry you are feeling frustrated with the dice.
@lafayette Bitching huh? Nice. The arrogance is really shining through now.
I WAS giving you constructive criticism, but seems like i am talking to walls that dont want to hear me. Hows that for bitching? As for good throws, i dont think i have had any worthy of talking about as they all seem to be frustrating, all misses or 1 hit, on the rare occasion i might get lucky and 2 hits IF i have 10 units there.
If you want to start throwing insults, go for it, i can throw em back too though and i wont care if i get banned. As an admin, u should know better than to say something like that to the community.
@captainsquareyez Before you edited your comment, you said "whatever, I don't care anymore". I don't know how to view that as constructive dialog or a continuation of the analysis of where deficiencies and improvements could be made. Given these are stats and we are talking about randomness, anecdotal examples don't prove much one way or another. It could even be that you are the lucky lottery ticket winner to have the worst TripleA dice out of all, but that does not mean the dice are dodgy.
You mentioned that the dice seem to favor the defender. That is not possible as a systematic bias considering the dice rolls are requested blind to whom it is for. There cannot therefore be a bias towards attacker vs defender, AI vs human, instead it would just so happen that one or the other received the better rolls when requested.
Kindwind last edited by
I have been busy with work. Our 1st step is find out what these values are:
Normal 1 d 6 distribution patterns.
I found the average roll to be: 3.5
what is the median roll of 1 d 6
I found the median roll to also be: 3.5
what is the median roll of 1 d 6
Standard Variance to be: 105/36 or 2.916
Standard Deviation: I am looking for still. Could some look these up?
After these values are found we can hire a programer to add the dice server. A buddy of mine has some comp. sci. degree folks that can help us out. I doubt it will cost more than 100. Adding button and a 1 d 6 standard dice model should be easy to do.
@kindwind everytime i have looked the dice stats for d6 based map it has been pretty close to 3.5
Kindwind last edited by
So I am going to do some quality of life changes for the new update of triple-a. Does anyone have any ideas how they would like transports to load or anything else?
@Kindwind certainly have some ideas here for how transport movement should be updated. It would be a good topic though for its own thread. Do I understand right you might have some capacity to pitch in with development work?
Has anyone really looked beyond simply the average of the throws?
I have tracked die rolls (not knowing the app did so) and found basically the same... the rolls come out fair. But when you consider the timeliness of the roll, then you can see it is skewed.
Anyone who has played against AI knows it has some quirkiness with the rolls. I chalk it up to the AI getting 'help'.. but it is frustrating and would be hugely annoying in a true HTH matchup with a person.
I was reading this thread today and was a bit surprised by the resistance to dice changes, because the quirkiness is so evident that I just assumed everyone lives with it.
Anyway today I played my usual game (LOTR map, with low luck dice). I played 'Fast' AI, as the Evil faction... and tracked/counted the results as follows:
For troop groups whose attack/def value = 6 or a multiple of six.. those results were excluded since no roll is made.
Without actually tracking the die values...
For troop groups with attack/Def Value equal/under 6
- If a hit.. count as a hit... miss count as a miss for the faction of the troop, and rollup to Good/Evil as a whole.
- If a miss when needing a 5,6 count as a 'significant miss'
- If a hit when needing a 1,2 count as a 'significant hit'
For troop groups with attack/def Value Greater than a multiple of 6
- ignore any results under the multiple (ie: troop strength 20.. should get 3 hits.. don't count them)
- If your roll is a hit, count as 'extra hit', if miss.. simply count as miss
- Score miss when needing 5,6 as significant miss
- Score hit when needing 1,2 as significant extra hit multiple of 6'
Through the first 6 rounds... Good(AI) had 26 'significant rolls' and 'hit' on 88.6%, missing on 11.5%... for 24 'extra' hits.
Evil(me) had 27 'significant rolls' and 'hit' on 63%, missing on 37%... for 15 'extra' hits
Hit rate in general.. 62.4% for good, 54.5% for evil
Yes.. it was one game, and yes.. hit rate in general could be influenced by slightly stronger forces (attacking/defending).. but the significant hits are hard to explain away.... AI has a way of hitting when they shouldn't while we miss when we shouldn't
Even with it being 1 game.. I found the results representative of what I experience every time I play... and I have played AI probably thousands of times.
If it is a crutch for AI.. just call it that, I am going to do a similar tracking against Easy and see if results are any different.
Deleting the essay I just wrote and instead giving these bullet points:
- the game player is not an input to the dice rolling function
- game players and dice rolls are not linked together
- the engine does not even know if a game player is human or AI controlled.
Hopefully this puts the question of whether AI are given an advantage to bed.
It's just unlucky dice and confirmation bias at play. Humans are pattern recognition machines on steriods, we see patterns all over the place, often
where none exists (animals out of clouds, a face on the moon, a tiger in the bushes).
Re: resistance - The resistance is perhaps misperceived. It would be one thing if someone said:
"I have generated 100 sets of 1000 numbers using TripleA and have found that 82% of those
sets fail the diehard tests". You can read
more about randommness tests here: https://en.wikipedia.org/wiki/Diehard_tests
Instead this conversation is often couched as "AI is given an advantage", or "one player is given
an advantage over another". That is impossible to distinguish from mere confirmation bias, no
matter how unlucky or seemingly impossible the circumstance described. I am not saying there are
zero problems, but so far nobody has used the above mentioned statistical measures to objectively
show there is a problem.
Meanwhile, The development backlog in TripleA, for one person, goes out years if not decades.
We need low effort and high value activities. Anything that is high effort is unlikely to be done
at all. If the effort were reduced here, there would be a higher likelyhood it'll be done.
In this case, we have a dice system with no known, proven problems. I'm not saying there are none, just nobody
has used a statistical technique (see the wiki article above about randomness tests) to objectively show
there is a problem. Beyond this, nobody has proposed any kind of alternative. We can whimsically choose
a new algorithm, but the value derived from this is low. To show this is a high value activity, we first need
to show the existing pseudo-random number generator is defective. Then to actually fix the problem, we'd
need to find another pseudo-random number generator and show by the same measure it is less defective.
Hence the "resistance". Development is being asked to spend a medium to high amount of effort for almost no
value. It's not really "resistance" actually, it's just this task, as framed, does not have a compelling
rate-of-return on the investment.
With that said, I would love to see a
compelling analysis showing 'mersenne twister' as used in TripleA is broken according to objective statistical
randonmess tests, and then I would further love to see a similar analysis showing an alternative algorithm is
better (and not ony that, but the algorithm is provided by an existing java library so we don't have to code it!)
This topic is important though and gets such a lengthy response for two reasons:
- dice rolls are pervasive. If were a problem, fixing such a problem would suddenly be a very high value activity.
- The Marti dice roller, as exists, is currently costing the project $10/month. We are likey to rewrite this
for that reason and others, and for it to be written in Java. At that rate we would pretty guaranteed use the
same algorithm for all dice rolls. We could whimsically replace the randonmness generator with something else.
We could invest a day or three or more of research into a new randonmness generator, though the path of least
resistance would have us skip that unless we can objectively show a benefit for that investment.